JS-call()和apply()
Posted 放羊的星星bky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS-call()和apply()相关的知识,希望对你有一定的参考价值。
1、定义
call():
定义:调用一个对象的一个方法,以另一个对象替换当前对象。
语法:call(Obj,arg1,arg2...)
apply():
定义:应用某一对象的一个方法,用另一个对象替换当前对象。
语法:apply(Obj,[arg1,arg2...])
call和apply可以用来重新定义函数的执行环境,也就是this的指向; call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的。
换句话说,就是为了改变函数体内部 this 的指向。
因为 JavaScript 的函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念。
2、不同之处
apply和call功能一样,只是传入的参数列表形式不同。
3、作用
总结一句话:call() 和apply() 都是用来让括号里的对象来包含括号外的函数的属性。
以上是关于JS-call()和apply()的主要内容,如果未能解决你的问题,请参考以下文章
SQL 关于apply的两种形式cross apply 和 outer apply