在OSX上的Firefox 45 中,當我從不存在的鍵獲取localStorage
中的項目時,函數調用返回null
。我在控制檯中測試了這個。爲什麼Javascript在變量賦值時將null轉換爲字符串?
如果我不是呼叫的結果分配給一個變量,並在控制檯打印出它的價值,我得到"null"
,即一個字符串。
爲什麼以前沒有定義變量的變量賦值蒙上了調用結果爲字符串?
使用的代碼(在控制檯):
編輯:兩個版本似乎正確運行在Chrome 50.0.2661.86在OSX(都返回null
)
EDIT2:我的錯誤。我在測試中使用了另一個變量名稱(具體爲:var name
)。現在,如果我讓控制檯返回變量name
的價值,它返回window.name
,這是一個字符串類型的window
屬性,默認爲"null"
。所以,這不是導致演員陣營的任務,而是我得到了一個由window
定義的String屬性。
關於windows的firefox 45.0.2,無法複製: localStorage.getItem(「non-existing-key」); //返回null var x = localStorage.getItem(「non-existing-key」); x // - >返回null不是「null」 – Giuseppe
使用OSX,編輯。 –
它在其他瀏覽器中返回的是什麼?我想你是通過返回'null' null'和'「空」' – Rayon