fn.call(obj,arg1,arg2);
这是call()方法的使用形式,apply()是差不多的。作用是用obj对象来替换fn中的this

举个栗子:

function A(){
    this.color="blue";
}
function B(){ 
    this.color="yellow"; 
} 
var a=new A();
B.call(a);  //用a对象来替换B()函数中的this;函数在调用call()或apply()的时候会执行函数
alert(a.color);  //这里将输出yellow
// 因此,上面的代码就可以改写成:
function A(){
    this.color="blue";
}
function B(){ 
    a.color="yellow";  //上面的B.call(a)的结果就变成了这样
} 
var a=new A();
B();  //调用了一次B(),从而修改了a.color的值
alert(a.color);  //所以输出yellow

相关文章:

  • 2022-02-27
  • 2022-12-23
  • 2022-03-08
  • 2021-11-07
  • 2021-06-26
猜你喜欢
  • 2022-01-28
  • 2022-12-23
  • 2022-12-23
  • 2021-05-30
  • 2022-12-23
相关资源
相似解决方案