為什么 arguments[0]() 這個輸出的是 undefined ?

科技 未結 2 819

哪位大神幫我看看,為什么arguments[0]() 這個輸出的是 undefined ?

var len = 10; var obj1 = { len:6, method:function(){ console.log(this.len); } }; var obj2 = { len:5, method:function(fn){ console.log(fn);// obj1.method fn(); console.log(arguments[0]); arguments[0](); // undefined } };obj2.method(obj1.method,obj2.method);

2條回答
  •  混在鄉(xiāng)下
    2023-02-08 17:13

    this和定義無關,和函數的調用方式有關。把函數當成參數傳入,調用的時候直接調用,里面的this就是全局對象。

提交回復