Home  >  Q&A  >  body text

javascript - 这句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有什么作用?

伊谢尔伦伊谢尔伦2726 days ago234

reply all(2)I'll reply

  • 阿神

    阿神2017-04-11 13:15:31

    autoRemove的值就是function(e) {
        remove(element, e.type, callback)
        return callback.apply(this, arguments)
    }
    
    
    callback.apply(this, arguments)表示执行callback函数。然后把值返回了return了出去。
    
    看这个代码感觉应该是.one绑定事件的时候,只执行一次。

    reply
    0
  • 阿神

    阿神2017-04-11 13:15:31

    返回 callback执行后的值
    autoRemove 就是

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

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

    reply
    0
  • Cancelreply