var length = 10;
function fn() {
console.log(this.length);
}
var obj = {
length: 5,
method: function (fn){
fn();
arguments[0]();
}
};
obj.method(fn, 1);
解析:第一次输出10应该没有什么异议,这里的this指向window,第二个调用arguments[0]()
相当于执行arguments调用方法,this指向arguments,而这里传了两个参数,故输出arguments长度为2。
答案: 10,2