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的参数数量
网友评论