
正文
jscallapply的区别,js call和apply
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
在JS中,call()方法和apply()方法到底该怎么应用?
apply:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.apply(A, arguments);即A对象应用B对象的方法。call:调用一个对象的一个方法,用另一个对象替换当前对象。
apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始)。
在JavaScript中借用方法在JavaScript中,有时可以重用其它对象的函数或方法,而不一定非得是对象本身或原型上定义的。通过 call()、apply() 和 bind() 方法,我们可轻易地借用其它对象的方法,而无须继承这些对象。
相关问答
Q1: 如何理解和熟练运用js中的call及apply
apply:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.apply(A, arguments);即A对象应用B对象的方法。call:调用一个对象的一个方法,用另一个对象替换当前对象。
两者作用一致,都是把obj(即this)绑定到thisObj,这时候thisObj具备了obj的属性和方法。或者说thisObj『继承』了obj的属性和方法。绑定后会立即执行函数。唯一区别是apply接受的是数组参数,call接受的是连续参数。
首先apply()方法接受两个参数一个是在其中运行函数的作用域,另一个是参数数组,其中第二个可以是Array的实例也可以是arguments对象 对于call()方法而言,第一个参数是this值没有变化,变化的是其余参数直接传递给函数。
Q2: javascript中apply,call和bind的区别
1、三者区别:apply:应用某一对象的一个方法,用另一个对象替换当前对象 最多只能有两个参数——新this对象和一个数组 argArray。
2、所以从作用上讲,其实apply和call是一样的,他们和bind的区别就是bind 是返回对应函数,便于稍后调用;apply 、call 则是立即调用 。
3、javascript中apply、call和bind的区别 在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢。在说区别之前还是先总结一下三者的相似之处:都是用来改变函数的this对象的指向的。
4、JavaScript开发者有必要理解apply、call与bind方法的不同点。它们的共同点是第一个参数都是this,即函数运行时依赖的上下文。
5、js中可以改变方法作用域和参数的方式有三种,apply,call,bind.apply 和call类似第一个参数是方法的作用域,其它参数是方法的参数。
Q3: Js中call和apply的区别和用法是什么?
1、先说区别call和apply的参数不同,前者是call(a,b,c,...)吧所有的参数都传递。后者apply只传递两个参数apply(a,b),其中b是一个数组。这是两者最大的不同,在于后者传递的是一个数组。
2、对于apply和call两者在作用上是相同的,但两者在参数上有区别的。
3、它们在功能上是没有区别的,都是改变this的指向,它们的区别主要是在于方法的实现形式和参数传递上的不同。call和apply方法都是在调用之后立即执行的。
4、apply与call是更改对象的内部指针,即改变对象的this指向的内容;call与apply的第一个参数都是要传入给当前对象的对象,及函数内部的this,后面的参数都是传递给当前对象的参数。
5、两者作用一致,都是把obj(即this)绑定到thisObj,这时候thisObj具备了obj的属性和方法。或者说thisObj『继承』了obj的属性和方法。绑定后会立即执行函数。唯一区别是apply接受的是数组参数,call接受的是连续参数。
6、javascript中apply、call和bind的区别 在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢。在说区别之前还是先总结一下三者的相似之处:都是用来改变函数的this对象的指向的。
jscallapply的区别的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js call和apply、jscallapply的区别的信息别忘了在本站进行查找喔。







