相同点:两个方法产生的作用是完全一样的
不同点:方法传递的参数不同
在JavaScript中,代码总是有一个上下文对象,代码处理该对象之内. 上下文对象是通过this变量来体现的, 这个this变量永远指向当前代码所处的对象中
call, apply作用就是借用别人的方法来调用,就像调用自己的一样
call, apply方法区别是,从第二个参数起, call方法参数将依次传递给借用的方法作参数, 而apply直接将这些参数放到一个数组中再传递, 最后借用方法的参数列表是一样的.
如下例子可以看出它们的用法与区别
function A() {
this.message = "A";
this.getMessage = function() {
return this.message;
}
}
function B() {
this.message = "B";
this.setMessage = function(msg) {
this.message = msg;
}
}
var a = new A();
var b = new B();
b.setMessage.call(a,"A的消息");
alert(a.getMessage());
alert(a.getMessage.call(b));
function test(msg) {
b.setMessage.apply(a,[msg]);
// b.setMessage.apply(a,arguments);
}
test("测试");
alert(a.getMessage());
分享到:
相关推荐
bind,apply,call的用法及区别
js中apply与call简单用法详解.docx
js中call与apply的用法小结.docx
详解js中的apply与call的用法.docx
apply和call,它们的作用都是将函数绑定到另外一个对象上去运行,两者仅在定义参数的方式有所区别: Function.prototype.apply(thisArg,argArray); Function.prototype.call(thisArg[,arg1[,arg2…]]); 从函数原型...
js中apply()和call()的区别与用法实例分析.docx
详解js中call与apply关键字的作用.docx
一、call和apply的说明 1、call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有call,apply属性。既然作为...
在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向 语法: apply() 接收两...
apply和call的区别在哪里 2. apply的其他巧妙用法(一般在什么情况下可以使用apply) 我首先从网上查到关于apply和call的定义,然后用示例来解释这两个方法的意思和如何去用. apply:方法能劫持另外一个对象的...
前天去面试,有个gg问了一些js知识,其中有一道call与apply用法的题目,尽管在365天前用过call方法,但当时还是没能答上来,今天深入总结一下 call和apply,它们的作用都是将函数绑定到另外一个对象上去运行 两者的...
在ECAMScript3给Function的原型定义了两个方法,它们是Function.prototype.call和Function.prototype.apply。本文详细介绍了apply与call的用法,有需要的可以参考下。
javascript中apply、call和bind的用法区分_.docx
call和apply是为了动态改变this而出现的,当一个object没有某个方法,但是其他的有,我们可以借助call或apply用其它对象的方法来操作。 call, apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现...
本文实例讲述了js中apply()和call()的区别与用法。分享给大家供大家参考,具体如下: 每个函数都包括两个非继承而来的方法:apply()和call()。两者用途都是在特定的作用域中调用函数,等于重新设置了函数体内this...
本文主要介绍js中call与apply关键字的作用以及它们的用法,具体实例如下,希望对大家有所帮助
在Javascript中,Function是一种对象。Function对象中的this指向决定于函数被调用的方式,使用apply,call 与 bind 均可以改变函数对象中this的指向。
JavaScript中的call以及apply与原型的相关操作,学习JavaScript中的一些小细节,深入了解JavaScript的相关语法,了解JavaScript中的语法核心