经典js this指向变化问题

2019-01-11  本文已影响0人  天劫天罪

var length=10;

function fn(){

console.log(this.length);

}

var obj={

   var length=5;

method:function(fn){

    fn();

  arguments[0]();

}

}obj.method();

当obj的method方法执行的时候,执行到fn(),fn执行的时候当前的this不是obj还是window,所以当前的length是10,执行到argumens[0]()的时候,还是去执行了fn函数,此时this是argument对象,this.length,就是arguments.length,就是method的参数数量

上一篇 下一篇

猜你喜欢

热点阅读