JavaScript中Call方法
call方法在msdn中的解释 调用一个对象的一个方法,以另一个对象替换当前对象。
apply方法在msdn中的解释 应用某一对象的一个方法,用另一个对象替换当前对象。
这个解释也是非常抽象的,这两个方法的作用基本是一样的,举个例子
<script>
function cls1()
{
this.a='123';
}
cls1.prototype.fun1=function()
{
alert(this.a);
}
function cls2()
{
this.a='456';
}
var o1=new cls1();
var o2=new cls2();
o1.fun1.apply(o2);
</script>
只有o1对象的类cls1中有fun1这个方法,但是,这时我们需要用o2对象替代o1对象,所以这个时候显示的this.a会是456,呵呵很神奇吧,换成call方法也是一样的,这两种方法使用的不同点仅仅是参数的使用方法上不同,这里就不多做解释了。
apply方法在msdn中的解释 应用某一对象的一个方法,用另一个对象替换当前对象。
这个解释也是非常抽象的,这两个方法的作用基本是一样的,举个例子
<script>
function cls1()
{
this.a='123';
}
cls1.prototype.fun1=function()
{
alert(this.a);
}
function cls2()
{
this.a='456';
}
var o1=new cls1();
var o2=new cls2();
o1.fun1.apply(o2);
</script>
只有o1对象的类cls1中有fun1这个方法,但是,这时我们需要用o2对象替代o1对象,所以这个时候显示的this.a会是456,呵呵很神奇吧,换成call方法也是一样的,这两种方法使用的不同点仅仅是参数的使用方法上不同,这里就不多做解释了。
浙公网安备 33010602011771号