一、概念介绍

  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);
}

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

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

  1. [前端JS学习笔记]JavaScript function

    一.函数的声明 1.1 function 命令 function methodName(params) { // code } 如下声明: function test_function(params) ...

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

    一.概念介绍 prototype 对象 : 原型对象.在JavaScript中, 每一个对象都继承了另一个对象,后者称为"原型对象". 只有 null 除外,它没有自己的原型对象. ...

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

    一.JavaScript数组的奇葩 大多数语言会要求数组的元素是同个类型, 但是JavaScript允许数组元素为多种类型. var arr = ["羽毛球", 666, {&qu ...

  4. [JS学习笔记]Javascript事件阶段:捕获、目标、冒泡

    当你在浏览器上点击一个按钮时,点击的事件不仅仅发生在按钮上,同时点击的还有这个按钮的容器元素,甚至也点击了整个页面. 事件流 事件流描述了从页面接收事件的顺序,但在浏览器发展到第四代时,浏览器开发团队 ...

  5. 生命不息学习不止,前端js学习笔记(一)

    引言 从毕业到年已经整整7年,期间一直从事.net开发做c/s从 c# 转到 wpf 而后又开始做b/s 用silverlight,从最开始的arcgis engine 到后来的silverlight ...

  6. JS学习笔记——JavaScript继承的6种方法(原型链、借用构造函数、组合、原型式、寄生式、寄生组合式)

    JavaScript继承的6种方法 1,原型链继承 2,借用构造函数继承 3,组合继承(原型+借用构造) 4,原型式继承 5,寄生式继承 6,寄生组合式继承 1.原型链继承. <script t ...

  7. js学习笔记----JavaScript中DOM扩展的那些事

    什么都不说,先上总结的图~   Selectors API(选择符API) querySelector()方法 接收一个css选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回null ...

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

    文章转自: http://segmentfault.com/a/1190000002666658 对于初学backbone.js的同学可以先参考我这篇文章:Backbone.js学习笔记(一) Bac ...

  9. spring mvc 及NUI前端框架学习笔记

    spring mvc 及NUI前端框架学习笔记 页面传值 一.同一页面 直接通过$J.getbyName("id").setValue(id); Set值即可 二.跳转页面(bus ...

随机推荐

  1. 50个python库

    50个很棒的Python模块,包含几乎所有的需要:比如Databases,GUIs,Images, Sound, OS interaction, Web,以及其他.推荐收藏. Graphical in ...

  2. WIN7开无线

    可以的,WIN7自身就带有这个功能的,不过默认是不开启的,也可以下载一个软件来弄.1.请却仍您使用的操作系统是微软的Windows 7或者Windows server 2008 R2,正版盗版皆可.( ...

  3. Java [Leetcode 58]Length of Last Word

    题目描述: Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return ...

  4. SVN版本管理提示信息

    1. FAQ 1.路径或权限不足时将出现错误信息提示: http://192.134.4.251/svn/svnproject(路径不对)Error * PROPFIND request failed ...

  5. 云计算服务模型,第 1 部分: 基础架构即服务(IaaS)

    英文原文:Cloud computing service models, Part 1: Infrastructure as a Service 本文介绍三个云类别中的第一个:基础架构即服务(infr ...

  6. wait函数返回值总结

    之前在学习wait和waitpid函数的时候,就对使用宏WIFEXITED来检查获取的进程终止状态产生过疑惑:一般我们在程序中是调用的exit或者_exit函数来退出的,那么wait和waitpid函 ...

  7. bjfu1099 度度熊大战僵尸

    这也是2011年百度之星的一道题. 这题我就是乱搞搞过的,打代码之前自己心里也没底,不知道能不能过的. 我的做法很简单,就是按时间顺序依次构造能杀死的僵尸血量,找到第k小的.构造的方法也很暴力:对t时 ...

  8. Selenium2Library系列 keywords 之 _SelectElementKeywords 之 _get_values_for_options(self, options)

    def _get_values_for_options(self, options): values = [] for option in options: values.append(option. ...

  9. SqlServer中输出错误消息

    raiserror('所有参数都不能为空',16,1,@@error)

  10. 将string转化为char*的方法

    在构造文件流变量时候发现,fstream的第一个参数,即文件路径必须是const char * 如: string s = "/home/user/1.txt"; fstream ...