jay*_*Son 9 javascript null undefined local-storage
上次我检查时,返回以下两行true:
null == localStorage["foo"];
null == localStorage.getItem("foo");
Run Code Online (Sandbox Code Playgroud)
同样更换时应用null有undefined.所以第一个问题是,为什么有两种方法来解决localStorage?为什么呢
localStorage["foo"]
Run Code Online (Sandbox Code Playgroud)
回来的undefined时候
localStorage.getItem("foo")
Run Code Online (Sandbox Code Playgroud)
回来了null?
在开发JS时我需要处理这个问题吗?
在Web存储规范要求是.getItem()返回null一个未知的关键.
但是请注意,.getItem()并.setItem()在IDL是专门定义为被指定getter并setter为Storage界面,因此他们也访问存储的内容完全支持方式.
但是,[]语法更类似于普通对象和/或数组属性getter,并且类似于undefined未知属性名称的返回.
不使用[]语法的原因是它将首先对对象属性进行操作,并且非常乐意允许您覆盖localStorage对象的实际属性和方法,cf:
> localStorage['getItem'] = function() { return 0 }
> localStorage.getItem('getItem')
0
Run Code Online (Sandbox Code Playgroud)