函数function的方法call()以及apply()

1.这两个方法十分重要:可以改变函数的作用域,也就是改变函数中的this
    使用call()方法的时候,必须明确传入每一个参数,结果跟apply()是一样的,废话不多说,下面来一个简单的案例,便于理解
 1          function sayColor(x,y) {
 2             alert( this.color + ",x=" + x + ",y=" + y);
 3         }
 4 
 5         var color = "blue" ;
 6         var o = { color: "red" };
 7 
 8         //call/apply方法 可以调用前面的方法,并为方法里的this赋值!
 9         sayColor.call(window, 110,220); //call后面不一定传入数组,也可以为空
10         sayColor.apply(o, [112, 120]); //apply最后面要传入一个数组
call方法显示结果:
 
apply方法显示结果:
posted @ 2013-09-28 22:13  xhhha123  阅读(203)  评论(0编辑  收藏  举报