这句js代码什么意思?

zepto.js event源码中这样的代码表示什么意思?

if (one) autoRemove = function(e) {
    remove(element, e.type, callback)
    return callback.apply(this, arguments)
}

其中callback是传入的回调函数,callback.apply(this, arguments)这句不是表示执行callback函数吗? 又 return 了一下什么意思?此时的autoRemove的值又是什么呢?


更新:return后面即表示callback的实际执行,那这个return有什么作用?

阅读 2.5k
2 个回答
autoRemove的值就是function(e) {
    remove(element, e.type, callback)
    return callback.apply(this, arguments)
}


callback.apply(this, arguments)表示执行callback函数。然后把值返回了return了出去。

看这个代码感觉应该是.one绑定事件的时候,只执行一次。

返回 callback执行后的值
autoRemove 就是

 function(e) {
    remove(element, e.type, callback)
    return callback.apply(this, arguments)
}

没有return,autoRemove函数执行返回值 就是undefined

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题