[英]Why does console.dir('') print “no properties”?
我的印象是字符串有屬性,比如match
。 為什么console.dir('')
聲稱''
沒有屬性(至少在Google Chrome中)?
這是因為''
是字符串文字,而不是String
“class”的實例。 由於在String.prototype
上聲明了match
等屬性,因此在使用字符串文字時不會看到它們。 如果您使用new
運算符,您將看到您的期望:
var s = new String("hello");
console.dir(s);
這是Chrome開發人員工具的屏幕截圖(注意需要擴展prototype
,因為您期望看到的方法是在原型上聲明的,而不是String
對象本身):
可能出於同樣的原因,即console.dir(true)和console.dir(1234)說,一旦你調低旋鈕指向數據。 如果它是一個Object,代碼可能只遍歷屬性。 為什么旋轉調節旋鈕仍然存在尚不清楚。
在JavaScript中,全局String對象具有在該語言中預定義的方法。 實際字符串文字繼承全局String對象的方法,但除了“length”之外沒有其他屬性。
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.