
正文
js方法call,js方法参数有3个,传2个
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
javascript中apply,call和bind的区别
apply和call功能一样,只是传入的参数列表形式不同,其中 thisArg 是你想指定的上下文,他可以是任何一个 JavaScript 对象(JavaScript 中一切皆对象),call 需要把参数按顺序传递进去,而 apply 则是把参数放在数组里。
都是用来改变函数的this对象的指向的。第一个参数都是this要指向的对象。都可以利用后续参数传参。
看到区别了吗,call后面的参数与say方法中是一一对应的,而apply的第二个参数是一个数组,数组中的元素是和say方法中一一对应的,这就是两者最大的区别。那么bind怎么传参呢?它可以像call那样传参。
call(), apply(),bind()都属于Function.prototype的一个内置方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,主要就是围绕这this对象的改变操作。下面已代码逐一展示各自的用法。
所以从作用上讲,其实apply和call是一样的,他们和bind的区别就是bind 是返回对应函数,便于稍后调用;apply 、call 则是立即调用 。
相关问答
Q1: 在JS中,call()方法和apply()方法到底该怎么应用?
apply与call是更改对象的内部指针,即改变对象的this指向的内容;call与apply的第一个参数都是要传入给当前对象的对象,及函数内部的this,后面的参数都是传递给当前对象的参数。
obj.call(thisObj, arg1, arg2, ...);obj.apply(thisObj, [arg1, arg2, ...]);两者作用一致,都是把obj(即this)绑定到thisObj,这时候thisObj具备了obj的属性和方法。或者说thisObj『继承』了obj的属性和方法。
JavaScript中的每一个function对象都会有call和apply方法 定义:apply:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.apply(A, arguments);即A对象应用B对象的方法。
JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别。先来看看JS手册中对call的解释:call 方法 调用一个对象的一个方法,以另一个对象替换当前对象。
Q2: Javascript中call和apply的区别与详解
call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有call,apply属性。
apply和call功能一样,只是传入的参数列表形式不同,其中 thisArg 是你想指定的上下文,他可以是任何一个 JavaScript 对象(JavaScript 中一切皆对象),call 需要把参数按顺序传递进去,而 apply 则是把参数放在数组里。
apply,call的用途相同,都是在特定的作用域中调用函数。接收参数方面不同,apply()接收两个参数,一个是函数运行的作用域(this),另一个是参数数组。
call(), apply(),bind()都属于Function.prototype的一个内置方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,主要就是围绕这this对象的改变操作。下面已代码逐一展示各自的用法。
js方法call的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js方法参数有3个,传2个、js方法call的信息别忘了在本站进行查找喔。








