1.call(),apply():
function fun(a,b){} //调用这两个函数时,可以传递一个参数,这个参数对象将会作为函数执行时的this //可以用来指定this fun.call(obj); fun.apply(obj); //区别 fun.call(obj,2,3);//可以将实参在对象后一次传递 fun.apply(obj,[2,3]);//apply需要将实参封装到一个数组中2.this情况:
(1)以函数的形式调用时,this永远指window;
(2)以方法的形式调用时,this指调用方法的对象;
(3)以构造函数的形式调用时,this指新创建的对象;
(4)使用call(),apply()调用时,this是指定的那个对象。