特别是对于localStorage.foo
对于 Safari,它设置为:
undefined
对于 Firefox,它设置为:
null
有人知道 Chrome 和 IE 的值吗?
为什么不一样?只是浏览器程序员的随机选择?
特别是对于localStorage.foo
对于 Safari,它设置为:
undefined
对于 Firefox,它设置为:
null
有人知道 Chrome 和 IE 的值吗?
为什么不一样?只是浏览器程序员的随机选择?
它总是undefined
。也许您的观察方法使您相信不同浏览器中的值不同。
哦,我将为旧版本的 IE 限定该声明,据我所知,它可能会做一些其他事情。我敢打赌他们undefined
也用。
啊——主角先生有一个有趣的观点。在任何普通对象上,不存在的属性将是null
. 但是,Firefox 确实似乎确实报告null
了一个不存在的属性的值,特别是localStorage
. 嗯...我的投票是那是一个错误,但我会检查 w3c 规范(或 proto-spec 或任何它)。
“价值”undefined
并不是真正的价值。这更像是佛教的穆——有点像在说,“你所要求的没有意义”。null
JavaScript 中的值的处理方式与undefined
. 因此:
var a = {};
var b = a.banana;
变量“b”将是undefined
。这很奇怪,但它可以让您区分存在null
的属性与缺少的属性之间的区别。(当然,in
操作员也可以让您弄清楚。)