“call”/“apply”究竟是做什么的?

这个问题在这里已经有了答案:

  • 通话和申请有什么区别? 19个答案

  • callback.apply( object[ name ], args )只是用object[name]作为context( this )和args作为参数来调用函数callback 。 正如文档中所述,jQuery提供了一种通过返回false来打破循环的方法:

    通过使回调函数返回false我们可以在特定的迭代中打破$.each()循环。 返回非错误与for循环中的continue语句相同; 它会立即跳到下一个迭代。

    所以,这段代码:

    if ( callback.apply( object[ name ], args ) === false ) {
      break;
    }
    

    检查函数是否返回false ,如果是,则中断循环。


    如果我们跳过上下文部分,代码可能看起来像这样(在ES6中):

    if (callback(...args) === false) {
      break;
    }
    
    链接地址: http://www.djcxy.com/p/18043.html

    上一篇: what exactly is "call"/"apply" doing here?

    下一篇: Using apply() vs call(), which one to use in this case?