上下文调用模式

上下文调用模式:指call,apply,bind三个方法,他们都能改变this指向.

1 call

作用1:调用函数 -- 和普通调用函数一样
          fn.call();
作用2:改变函数的this指向;
    第一个参数:通常是个对象,call使函数中this指向这个对象
    剩余的参数:是函数的实参
    fn.call(obj,2,3);
2 apply 和call的功能一模一样
    第二个参数:将函数中需要的参数作为一个数组传入
    fn.apply(obj,[3,5]);
3 bind
    复制一个函数,并将这个复制出来的新函数的this指向其对象参数
    var fn3 = fn.bind(obj); // 给bind传入一个对象参数,将原来函数中this变成了这个obj
 

猜你喜欢

转载自www.cnblogs.com/qihang0/p/11405775.html