为了账号安全,请及时绑定邮箱和手机立即绑定

关于NODEJS的下面一段代码里,cb&&cb()是什么意思?

关于NODEJS的下面一段代码里,cb&&cb()是什么意思?

JUNBB_HAPPYER 2016-06-10 16:30:30
function promiseanimate(ball,distance){ return new Promise(function(resolve,reject){ function _animate(ball,distance,cb) { time=setTimeout(function(){ var marginLeft=parseInt(ball.style.marginLeft,10) if(marginLeft===distance){ clearTimeout(time) cb&&cb() }else{ if(marginLeft<distance){ marginLeft++ }else{ marginLeft-- }} ball.style.marginLeft=marginLeft animate(ball,distance,cb) },13)} })
查看完整描述

3 回答

已采纳
?
Suber丶林

TA贡献75条经验 获得超180个赞

cb&&cb();
// 等同于
if (cb) {
    // 判断cb是否有被当成参数传过来,有的话则执行cb函数
    cb();
}


查看完整回答
7 反对 回复 2016-06-13
?
牧后黄昏

TA贡献2条经验 获得超18个赞

&&表示并且,只有第一个条件为真时,才会去校验第二个条件。如果cb没有传递进来,则cb为undefined,undefined做判断会被转换为false。cb&&cb()可以理解为,cb这个回调函数存在时才执行cb回调函数。

查看完整回答
5 反对 回复 2016-06-13
?
化龙贝

TA贡献191条经验 获得超79个赞

确保 cb 是有效的并执行

查看完整回答
反对 回复 2016-06-10
  • 3 回答
  • 0 关注
  • 5438 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信