Javascript中的apply()方法浅析

2019-12-18,,,

之前我们说过 Javascript Call 方法,这次我们就说说和Call方法类似的apply方法

apply vs call

两者间的不同在于:传递的是参数,还是参数数组

这个是call的用法
复制代码 代码如下:
theFunction.call(valueForThis, arg1, arg2, ...)

而这个则是apply
复制代码 代码如下:
theFunction.apply(valueForThis, arrayOfArgs)

故而
复制代码 代码如下:
arrayOfArgs = [arg1, arg2, ...];

Javascript apply 方法

先看看之前的call的用法
复制代码 代码如下:
function print(p1, p2) {
    console.log( p1 + ' ' + p2);
}
print.call(undefined, "Hello", "World");

由上面的叙述,我们可以得出当
复制代码 代码如下:
    args =  "Hello", "World";
function print(p1, p2) {
    console.log( p1 + ' ' + p2);
}
print.call(undefined, args);

两者是等价的,而实际上他们也是等价的,输出结果同样是"Hello,World"!

您可能感兴趣的文章:

  • 小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
  • JS面向对象、prototype、call()、apply()
  • JavaScript中的apply()方法和call()方法使用介绍
  • 基于JavaScript实现继承机制之调用call()与apply()的方法详解
  • JavaScript中的prototype.bind()方法介绍
  • angularJS中$apply()方法详解
  • JavaScript中神奇的call()方法
  • 浅谈javascript的call()、apply()、bind()的用法

《Javascript中的apply()方法浅析.doc》

下载本文的Word格式文档,以方便收藏与打印。