我認識剛學編程和偶然發現了這一點,並留下我百思不得其解:請解釋此Javascript怪癖
請打開一個控制檯(瀏覽器/火狐)和類型:var name = ['what', 'the', '...?'];
我希望name
到是一個字符串數組,但:的
typeof name
顯示器string
代替Array
- 列出
name
個可變打印字符串而不是陣列 name.length
是13
代替3
- 寫入
name = name.split(',')
返回按預期的陣列["what", "the", "...?"]
,但name
仍然是一個string
,不是數組
name
是唯一似乎表現這種方式的變量名稱,或者至少我找不到另一個名稱。
這僅僅是一個控制檯怪癖,一個JavaScript引擎錯誤,或者是什麼?
注意:上述情況發生在Chrome和Firefox上。 IE Edge驚人地按預期工作(typeof name
是Array
和所有)。未在其他瀏覽器上測試過。
嘗試使用「name」以外的變量名稱。 https://developer.mozilla.org/en-US/docs/Web/API/Window/name – j08691