簡體   English   中英

為什么參數對象未在控制台中顯示其方法

[英]why arguments object is not showing it's method in console

看一下這段代碼:

var args;
function foo(){
  args = arguments;
}

foo();

console.log(args); // []
args.callee(); // foo

為什么在控制台中看不到參數對象的任何屬性或方法,卻能夠調用被調用方方法呢?

您沒有向foo傳遞任何參數。 同樣, callee屬性是“不可枚舉的”。

免責聲明:這是假設您使用的是Chrome或Firebug控制台,沒有標准配置,因此自定義控制台可能會做一些時髦的事情。

因為您使用了console.log ,它顯示的類似於數組的對象與“普通”對象不同。 如果要查看對象的屬性,請使用console.dir

*要像數組一樣,對象必須具有length屬性和splice函數,或者具有許多其他特殊條件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM