js call()与apply()
来源:互联网 发布:疑心暗鬼动作数据下载 编辑:程序博客网 时间:2024/05/29 15:19
js中call()与apply()相同与不同这篇文章写的很清楚:
http://www.cnblogs.com/fighting_cp/archive/2010/09/20/1831844.html
call, apply方法相同点:
foo.call(this, arg1,arg2,arg3) == foo.apply(this,arguments)==this.foo(arg1, arg2, arg3)
call, apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例,也就是每个方法都有call, apply属性.既然作为方法的属性,那它们的使用就当然是针对方法的了.这两个方法是容易混淆的,因为它们的作用一样,只是使用方式不同.
call, apply方法区别:
从第二个参数起, call方法参数将依次传递给借用的方法作参数, 而apply直接将这些参数放到一个数组中再传递, 最后借用方法的参数列表是一样的.
例:Math.max
Math.max(param1,param2) --参数不支持数组
var max = Math.max.apply(null,array) --这样可得到一个数组中最大值
apply(Math.max, arr),arr是一个参数列表,
对于max方法,其参数是若干个数,即Math.max(a, b, c, d, ...)
当使用apply时,把所有参数加入到一个数组中,即array = [a, b, c, d, ...]
代入到原式,Math.max.apply(null, [a, b, c, d, ...])
实际上等同于Math.max(a, b, c, d, ...)
在此处,使用apply的优点是在部分JS引擎中提升性能。
- JS Call()与Apply()
- JS call与apply
- JS Call()与Apply()
- js apply 与 call
- js call与apply
- js call()与apply()
- js: call与apply
- js中的call与apply
- js中的call()与apply()
- 05.JS Call()与Apply()
- js中的apply()与call()
- js call()与apply(区别)
- js中的call与apply
- js中call与apply的应用
- js中call与apply用法
- JS中apply与call的用法
- js中call与apply用法
- js中的call与apply用法
- FM(因子分解机系列)
- shell getopts 用法
- table中的某一格字数太多,要换行
- ORACLE 不走索引(失效)的原因以及解决办法
- js删除数组元素
- js call()与apply()
- 4143:和为给定数
- gitbook 生成 html 电子书, 搭建在 github 或 本地服务器上
- java-(继承、子父类中的变量的特点、子父类中函数的特点-覆盖、)
- 51nod 1640 天气晴朗的魔法 【二分枚举最大生成树】or【最小&&最大 生成树】
- Codeforces828 A. Restaurant Tables
- libevent post下载文件
- IOS常用框架
- 动态规划(一)入门例子