js中回调函数的三种写法

回调函数的三种写法:

1、通过指针来调用

2、通过匿名函数来调用

3、定义与执行同时进行

        // 通过指针来调用
            function math(num1,num2,callback){
                return callback(num1 , num2);
            }
            function aa(num1,num2){
                return num1 + num2;
            }
            function bb(num1,num2){
                return num1 - num2;
            }
            console.log( math(2,1,aa) ); // 3
            console.log( math(2,1,bb) ); // 1

            // 通过匿名函数调用(本质上与第一种方式是一样的)
            function math (num1,num2,callback){
                return callback(num1,num2);
            }
            console.log(
                math(2,1,function(num1,num2){
                    return num1 + num2;
                })
            ); // 3

            // 定义与执行同时进行(自执行)
            ( function (num){
                console.log(num);
            } )(1); // 1 

回调函数的作用:可以写工具方法供外部使用(将入参经过逻辑处理,然后将返回结果直接给回调函数就行了)

    // 处理入参,输出结果给回调函数,供外部使用
        function parseStr(param,callback){
            var result = param + ‘很帅‘;
            callback(result);
        }
        parseStr(‘许文祥‘,function(result){
            console.log(result);  // 许文祥很帅
        })

 

时间: 2024-10-26 02:30:26

js中回调函数的三种写法的相关文章

js中匿名函数的N种写法

匿名函数没有实际名字,也没有指针,怎么执行? 关于匿名函数写法,很发散~ +号是让函数声明转换为函数表达式.汇总一下 最常见的用法: 代码如下: (function() {  alert('water');  })();  当然也可以带参数: 代码如下: (function(o) {  alert(o);  })('water');  想用匿名函数的链式调用?很简单: 代码如下: (function(o) {  console.log(o);  return arguments.callee; 

js中创建函数的三种方式及区别

1.函数声明 function sum1(n1,n2){ return n1+n2; }; 2.函数表达式,又叫函数字面量 var sum2=function(n1,n2){ return n1+n2; }; 两者的区别:解析器会先读取函数声明,并使其在执行任何代码之前可以访问:而函数表达式则必须等到解析器执行到它所在的代码行才会真正被解释执行. 自执行函数严格来说也叫函数表达式,它主要用于创建一个新的作用域,在此作用域内声明的变量,不会和其它作用域内的变量冲突或混淆,大多是以匿名函数方式存在,

JS中事件绑定的三种方式

以下是搜集的在JS中事件绑定的三种方式. 1. HTML onclick attribute <button type="button" id="upload" onclick="upload_file();"> 原文: http://www.w3school.com.cn/jsref/jsref_events.asp 2. jQuery .on() $(node).on("change", function(e)

node.js 中回调函数callback(转载),说的很清楚,看一遍就理解了

最近在看 express,满眼看去,到处是以函数作为参数的回调函数的使用.如果这个概念理解不了,nodejs.express 的代码就会看得一塌糊涂.比如: 复制代码 代码如下: app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); app是对象,use是方法,方法的参数是一个带参的匿名函数,函数体直接在后面给出了.这段代码怎么理解呢?我们先来了解

js中this指向的三种情况

js中this指向的几种情况一.全局作用域或者普通函数自执行中this指向全局对象window //全局作用域 console.log(this);//Window //普通函数 function fn(){ console.log(this); //Window } fn(); //函数加括号调用叫函数自执行,函数自执行时,内部的this指向顶层对象/window 二.事件函数内部的this指向事件源:注意在事件函数中如果包含普通函数,普通函数自执行后,内部this还是指向window //事

js中回调函数,promise 以及 async/await 的对比用法 对比!!!

在编程项目中,我们常需要用到回调的做法来实现部分功能,那么在js中我们有哪些方法来实现回调的? 方法1:回调函数 首先要定义这个函数,然后才能利用回调函数来调用! login: function (fn) { var app = getApp() wx.login({ success: res => { let code = res.code; wx.getSetting({ success: res => { if (res.authSetting['scope.userInfo']) {

关于transition回调函数的几种写法

平时工作中经常遇到需要transition动画结束后触发某个功能的问题,但是在映像中好像只见过animate的回调函数, 而transition的很多属性无法在animate中使用,经过一些总结归纳,终于得出了transition回调函数的写法 'transform', "rotate(180deg)"); "transitionend";//firefox "webkitTransitionEnd;//chrome "msTransitionE

js学习总结----函数的三种角色

注意:Function.prototype是函数数据类型的值,但是相关操作和之前的一模一样->Empty/anonymous 函数本身也会有一些自己的属性:   length :形参的个数   name:"Fn" 函数名   prototype 类的原型,在原型上定义的方法都是当前Fn这个类实例的公有方法   __proto__ 把函数当做一个普通的对象,指向Function这个类的原型 函数在整个JS中是最复杂的也是最重要的知识: 1.一个函数存在了多面性: "普通函

JS中申明数组的三种方法

JS中的数组对象可以存放的元素非常丰富,包括number.String等基本的数据类型以及object对象还有数组类型,他们都可以构成数组元素的一部分. 方法1: var a = new array(); a[0] = "1";//String类型 a[1] = 2;//number类型 a[2] = { x:1, y:3};//object对象作为数组的元素 //方法2: var  a  =  new array("1" , 2 , {x:1,y:3} ); //