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