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是指定的那个对象。