1.这两个方法十分重要:可以改变函数的作用域,也就是改变函数中的this
使用call()方法的时候,必须明确传入每一个参数,结果跟apply()是一样的,废话不多说,下面来一个简单的案例,便于理解
function sayColor(x,y) {
alert( this.color + ",x=" + x + ",y=" + y);
} var color = "blue" ;
var o = { color: "red" }; //call/apply方法 可以调用前面的方法,并为方法里的this赋值!
sayColor.call(window, ,); //call后面不一定传入数组,也可以为空
sayColor.apply(o, [, ]); //apply最后面要传入一个数组
call方法显示结果:
apply方法显示结果: