在特定的作用域中调用函数
apply接收两个参数,一个为在其中运行的函数的作用域,另一个为参数数组
call第一个参数也是运行函数的作用域,但其余参数都必须逐个列举出来
sum.apply(this, [num1, num2]);
sum.call(this, num1, num2);
主要用于扩充函数的作用域
window.color = "red";
var o = { color: "blue" };
function sayColor(){
alert(this.color);
}
sayColor();//red
sayColor.call(this);//red
sayColor.call(window);//red
sayColor.call(o);//blue
window.color = "orange";
var o = { color: "blue",
sayColor:function(){
alert(this.color);
}};
o.sayColor() // blue
o.sayColor.call(this) //orange
o.sayColor.call(window) //orange
o.sayColor.call(o) // blue
网友评论