[前端JS学习笔记]JavaScript CallBack

一、概念介绍

  CallBack : "回调" 。 在spring优秀框架回调无处不在, 回调的运用场景很多, 如 swt事件监听、netty等。它的主要作用是提高程序执行效率, 一段代码执行时不必等另一段代码执行结束才继续往下run。 在JavaScript也不例外。

二、js 回调语法

传递函数作为回调

function(ag1,ag2...,callback) {

  // 业务逻辑代码

}

js 代码study.js

window.mytest = function(str, callback) {
    printStr(str) ;
    var res = test_callback();
    callback(res);
}

function printStr(str) {
    alert(str);
}

function test_callback() {
    return "回调测试";
}

html代码 studyJS.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />

</head>
<body>

    <button onclick="test_callback()">test</button>

</body>

<script src="js/study/study.js" type="text/javascript"></script>

<script>

    mytest("加油", function(data) {
        console.log(data);
    })

</script>

</html>

分析 : 打开 studyJS.html, 会执行mytest()方法。执行之后,回去回调业务定义的回调函数, 如上图

function(data) {
   console.log(data);}

所以控制台会输出 ”加油“!!!

时间: 10-16

[前端JS学习笔记]JavaScript CallBack的相关文章

[前端JS学习笔记]JavaScript 数组

一.JavaScript数组的奇葩 大多数语言会要求数组的元素是同个类型, 但是JavaScript允许数组元素为多种类型. var arr = ["羽毛球", 666, {"json:":"666"}]; console.log(arr.length); 二.JavaScript 数组的两种声明 1.var arr = [元素]; var arr = ["坚持"]; 2.new Array(); 或者 var arr2 =

[前端JS学习笔记]JavaScript prototype 对象

一.概念介绍 prototype 对象 : 原型对象.在JavaScript中, 每一个对象都继承了另一个对象,后者称为"原型对象". 只有 null 除外,它没有自己的原型对象.   原型对象上的所有属性和方法,都能被派生对象所共享.通过构造函数实例的实例对象,都会被自动分配一个原型对象.每一个 构造函数的prototype属性,就是这个实例对象的原型对象. 二.原型使用 如上图,在Animal的源性对象上添加一个属性color,结果会被实例对象bear1.bear2所共享.如果改变

【转】Backbone.js学习笔记(二)细说MVC

文章转自: http://segmentfault.com/a/1190000002666658 对于初学backbone.js的同学可以先参考我这篇文章:Backbone.js学习笔记(一) Backbone源码结构 1: (function() { 2: Backbone.Events // 自定义事件 3: Backbone.Model // 模型构造函数和原型扩展 4: Backbone.Collection // 集合构造函数和原型扩展 5: Backbone.Router // 路由

js学习笔记知识点

AJAX用法安全限制JSONPCORS面向对象编程创建对象构造函数原型继承class继承 AJAX 用法 AJAX不是JavaScript的规范,它只是一个哥们"发明"的缩写:Asynchronous JavaScript and XML,意思就是用JavaScript执行异步网络请求 在现代浏览器上写AJAX主要依靠XMLHttpRequest对象: 'use strict'; function success(text) { var textarea = document.getE

sizzle.js学习笔记利用闭包模拟实现数据结构:字典(Map)

sizzle.js学习笔记利用闭包模拟实现数据结构:字典(Map) 这几天学习和查看了jQuery和Property这两个很流行的前端库的御用选择器组件Sizzle.js的源代码,收获还是相对多的!之前一直做使用Java语言开发,其丰富的组件类库使得开发效率那叫一个快呀!突然转来做JavaScript一时间还有点儿不适应(快半年了),不过自从看见那么多漂亮的网站和对JavaScript接触的越来越多,也发现了其中的一些乐趣.正如自己一直坚信的那样,编程语言仅仅是工具,重要的是编程思想!使用Jav

[Pro Angular.JS]学习笔记1.1:设置开发环境

可以使用yeoman.io,很方便.我已经写了一篇随笔,介绍如何使用.这里也有一篇介绍的文章:http://www.cnblogs.com/JoannaQ/p/3756281.html 代码编辑器,在Mac下用了一下WebStorm,太恶心了.另外发现书的作者使用的开发环境是Windows + VS Express 2013,为了方便学习,我也使用VS Express 2013 Update2.VS2013用起来蛮舒服的,把WebStorm比得跟驼屎一样.也许是因为我没用习惯吧. 1.安装Nod

每日js学习笔记2014.5.4

<script language="javascript">var mystring = "这是第一个正则表达式的例子";var myregex = new RegExp("这是"); //创建正则表达式if (myregex.test(mystring)) //test的功能是查找字符串中是否有匹配项,有则返回true,没有则返回false{ document.write ("找到了指定的模式");}else{

每日js学习笔记2014.5.5

<script language="javascript"><!-- var textstr = prompt("请输入一个字符串:",""); //prompt的用法,包含两个参数 var regex = /[A-Z][a-z]tion/; //[A-Z]有无匹配项 var result = regex.test(textstr); //test的用法 document.write ("<font size='

JS学习笔记--仿手机发送内容交互

学习JS笔记----记录上课中学习的知识点,分享下老师教的内容: 1.html内容 <div id="box"> <div id="message"> <!--<p class="left"> <img src="img/136.jpg" /> <span>这是第一句话</span> </p> <p class="righ