call和apply方法在jQuery中有什么区别?

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

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

  • 他们不是jQuery的东西,而是JavaScript的东西。

    他们做同样的事情:他们使用的特定值调用给定函数this函数调用中。 唯一的区别是你如何指定传递给函数的参数。 有了call ,您可以指定他们为一系列的离散参数(后第一位的,这是因为使用什么this )。 随着apply ,您可以指定它们作为一个数组(在第一个参数后再次,这是用什么this )。

    所以说,我们有:

    function foo(a, b, c) {
       console.log("this = " + this);
       console.log("a = " + a);
       console.log("b = " + b);
       console.log("a = " + c);
    }
    

    这两个调用完全一样:

    foo.call("bar", 1, 2, 3);
    // Note --------^--^--^--- a series of discrete args
    
    foo.apply("bar", [1, 2, 3]);
    // Note ---------^-------^-- args as an array
    

    在这两种情况下,我们都看到:

    this = bar
    a = 1
    b = 2
    c = 3
    链接地址: http://www.djcxy.com/p/18039.html

    上一篇: What is the difference between call and apply method in jQuery

    下一篇: please explain the apply and call methods in javascript