在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