P粉4589136552023-08-18 09:58:57
正如其他人指出的那樣,這是一個物件的預設序列化。但為什麼它是[object Object]
而不只是[object]
呢?
這是因為在Javascript中有不同類型的物件!
stringify(function (){})
-> [object Function]
stringify([])
-> [object Array]
stringify(/x/)
-> [object RegExp]
stringify(new Date)
-> [object Date]
stringify({})
-> [object Object]
這是因為建構子被稱為Object
(大寫的「O」),而「object」這個名詞(小寫的「o」)指的是該物件的結構性質。
通常,在Javascript中談論“objects”時,實際上是指的“物件物件”,而不是其他類型。
其中stringify
應該是這樣的:
function stringify (x) { console.log(Object.prototype.toString.call(x)); }#
P粉4652875922023-08-18 09:48:03
將物件轉換為字串的預設結果是"[object Object]"
。
由於您正在處理jQuery對象,您可能想要執行以下操作
alert(whichIsVisible()[0].id);
以列印元素的ID。
如評論中所提到的,您應該使用Firefox或Chrome等瀏覽器中包含的工具來檢查對象,而不是使用alert
,可以執行console.log(whichIsVisible( ))
。
附註:ID不應以數字開頭。