Q19. arguments调用函数this被你忽略了吗?

首先,看看这道题的结果是什么?

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

结果是 2 而并非10;

分析: arguments是类数组,是对象吧 。所以arguments[0]();   即obj.fn() ,明白了吧。
感觉对而不对的悲剧不再会重演。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章