var length = 10;
function fn() {
console.log(this.length);
};
var obj = {
length: 5,
method: function(fn) {
fn();
arguments[0]();
}
};
obj.method(fn, 1);//输出是什么?
第一个输出10,是因为fn在全局被调用,this指向是window
第二个输出2,是因为fn被arguments调用,而arguments里有length属性,传入了两个参数,length为2,所以输出是2