
正文
js中call的主调对象,js中call
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何理解和熟练运用js中的call及apply
1、首先apply()方法接受两个参数一个是在其中运行函数的作用域,另一个是参数数组,其中第二个可以是Array的实例也可以是arguments对象 对于call()方法而言,第一个参数是this值没有变化,变化的是其余参数直接传递给函数。
2、从定义中可以看出,call和apply都是调用一个对象的一个方法,用另一个对象替换当前对象。
3、apply与call是更改对象的内部指针,即改变对象的this指向的内容;call与apply的第一个参数都是要传入给当前对象的对象,及函数内部的this,后面的参数都是传递给当前对象的参数。
4、JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别。\x0d\x0a先来看看JS手册中对call的解释:\x0d\x0acall 方法\x0d\x0a 调用一个对象的一个方法,以另一个对象替换当前对象。
相关问答
Q1: js中apply()和call()方法有用吗?用处不大我就不深究了。
从定义中可以看出,call和apply都是调用一个对象的一个方法,用另一个对象替换当前对象。
在大多数情况下,两个函数可以相互替换的。你可以把apply当作call的糖衣写法。就好像js里面循环函数你可以用for也可以用while 一样。call和apply不是一定要怎么用的。
apply与call是更改对象的内部指针,即改变对象的this指向的内容;call与apply的第一个参数都是要传入给当前对象的对象,及函数内部的this,后面的参数都是传递给当前对象的参数。
JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别。\x0d\x0a先来看看JS手册中对call的解释:\x0d\x0acall 方法\x0d\x0a 调用一个对象的一个方法,以另一个对象替换当前对象。
语法:objcall(obj2[,arrArg]);定义:用obj2对象来代替obj1,调用obj1的方法,即将obj1应用到obj2上,说明:call ()和apply()作用一样,但是call()可以接收任何类型的参数,而apply()只能接收数组参数。
Q2: javascript中函数方法call()中参数this的问题
1、call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 说明: call 方法可以用来代替另一个对象调用一个方法。
2、当call函数的第一个参数是undefined或者null时,f.call(undefined)就相当于f(),也相当于window.f()。那么根据开头的分析,这时f函数的调用者就是window了,也就是说window.a = A了。
3、call() 方法调用一个对象。简单理解为调用函数的方式,但是它可以改变函数的 this 指向。
4、使用call()或调用函数apply(),也称为显式绑定。
5、自由和灵活,结合apply(call)方法,可以使JS变得异常强大。变化的this 在JavaScript中,this通常指向的是我们正在执行的函数本身,或者是指向该函数所属的对象(运行时)。
6、创建了函数bar()并在内部手动调用了foo.call(obj),因此强制把foo的this绑定到了obj上。无论之后如何调用bar,总会手动在obj上调用foo。
关于js中call的主调对象和js中call的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








