var color = "红色";
var box = {
color:"蓝色"
}
function sayColor(){
console.log(this.color);
}
sayColor.call(box);
sayColor.apply(box());
2个问题
1.想问下,这里的call(box),单独传了个作用域box,参数没有的话就不用传吗?有的话就需要把参数一个个都写进去,不能用arguments是吧?
2.如果用apply()方法的话,这个该怎么写来冒充对象box?
谢谢各位~
call和apply第一个参数都是传进去作为function中的this指向对象的。使用call,参数列表得像普通函数调用一样,一定要一个一个的列在后面;使用apply,参数列表要使用数组,所以也可以传arguments对象进去.