javascript callback编程理解

参考面向对象职责划分原则。我们可以把一个函数定义只处理一个职责。
举例子说明:
我们要计算两个数相加。
分析:
从文字表述上来看,定义一个函数,计算两个输入参数相加,返回和。这是初级程序员的思维。
function sum(int a,int b){
return a + b ;
}
比较完整的分析: 我们要对两个数进行相加的运算,计算得到结果要干什么(如输出控制台、页面提示计算结果等),这才是计算的意义。
那么我们是否可以写成:
function sum( int a,int b){
int result = a + b ;
console.log(result);
}
从上面代码中,我们可以看出两个问题:1、sum函数干了两个事情,第一件事情是进行两数相加计算,第二见事情是输出到控制台,与一个函数定义只处理一个职责相违背。2、输出到控制台,如果要页面提示显示结果需求呢,那要重新写个函数或修改该函数,函数不能重用。
那么解决以上问题采用两个函数来处理:
function sum(int a, int b){
return a + b ;
}
function display(int result){
console.log(result)
}
调用: display(sum(1,2));
这样可以满足一个职责需求与 重构需求,但代码不符合链式开发思想。
满足以上需求,我们可以用回调函数。
function sum(int a, int b,callback){
int result = a + b ;
callback(rsult);
}
调用:sum(1,2,function(result){
console.log(result);
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值