localstorage.aaa和localstorage.setitem('aaa')两种赋值方式有什么区别?

localStorage.aaa = 'aaa'

localStorage.setItem('bbb', 'bbb')

两种写法有什么区别吗?哪种兼容性好


回答:

两者用于设置localStorage的键值对,区别在于语法方式不同。
localstorage.aaa和localstorage.setitem('aaa')两种赋值方式有什么区别?

  • localStorage.aaa = 'aaa' 使用的是对象属性的形式,将值直接存储在localStorage上,相当于调用了setItem('aaa', 'aaa')方法。但是无法处理异常情况,如存储失败时没有错误提示。
  • localStorage.setItem('bbb', 'bbb') 使用setItem(key, value)设置,提供了错误处理和兼容性。

两种写法在结果上没有区别,但是建议使用localStorage.setItem(key, value)的方式进行操作, 该方法兼容性更好


回答:

没区别,一样的


回答:

localStorage.aaa = 'aaa'localStorage.setItem('aaa', 'aaa') 是一样的。

只不过考虑可读性的话,最好通过 getset 的方式走 ? #在存储中设置值 - 使用 Web Storage API - Web API 接口参考 | MDN
特别是经常会有人在业务代码中里面写错判断,比如说 if (localStorage.aaa = 'aaa') 就可能会被修改到,使用 getset 的方式就可以避免:

const flag = localStorage.getItem('aaa')

if(flag = 'ABC') {

...

// Uncaught TypeError: Assignment to constant variable.

// 或者通过 var 的形式声明

var flag = localStorage.getItem('aaa')

if(flag = 'ABC') {

....

}

conso.log(localStorage.getItem('aaa'))

// 'aaa'

以上是 localstorage.aaa和localstorage.setitem('aaa')两种赋值方式有什么区别? 的全部内容, 来源链接: utcz.com/p/934154.html

回到顶部