gpt4 book ai didi

javascript - 传递参数时对 localStorage 中的未定义值进行或运算

转载 作者:行者123 更新时间:2023-11-29 17:15:47 25 4
gpt4 key购买 nike

如果我这样做:

localStorage['a'] = undefined
alert(localStorage['a'] || 20)

“未定义”被警告 - 为什么?

var a = undefined
alert(a || 20)

现在 20 已收到警报。

localStorage.clear()
alert(localStorage['a'] || 20)

这里也是 20...我检查了 localStorage['a'] 是未定义的...就像第一种情况一样,当我手动将其设置为未定义时...为什么会有不同的结果?

最佳答案

localStorage 存储字符串并将您传递的内容转换为字符串,因此

localStorage['a'] = undefined

将字符串 "undefined" 设置为 localStorage 中的值。它不会删除 key ,也不会将其值设置为 undefined

当然 "undefined" 不是假的,所以 "undefined"||20"undefined"

要删除一个值,使用

localStorage.removeItem('a');

顺便提一下,如果你设置了

localStorage['a'] = 20

那么在调用 localStorage['a'] 时您不会得到 20 而是字符串 "20"。当你想得到一个带有默认值的非空数字时,你可以这样做:

var num = parseInt(localStorage['a'])||20;

关于javascript - 传递参数时对 localStorage 中的未定义值进行或运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18175664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com