直接调用arguments中的函数,this指针是如何发生的改变,为什么会指向arguments

var length = 10;
function fn() {
    console.log(this);
};
var obj = {
    length: 5, 
    method: function (fn) {
        arguments[0]();
    }
};
obj.method(fn, 1);

调用arguments中的fn,为什么this会指向arguments,求解惑,谢谢~

阅读 1.8k
2 个回答

arguments 对象的属性调用 不指向arguments 指向什么??

这有什么疑惑的地方吗

没毛病啊,你这种写法本来就是调用arguments的一个属性方法啊,this就指向了arguments,如果你把method中的代码变成fn(),this也就变成window了

推荐问题