为什么我的变量是真的而不是同时真的?

时间:2015-03-23 14:32:15

标签: javascript

看看这个javascript:

localStorage.myAwesomeItem = true;
var item = localStorage.myAwesomeItem;
alert(item);
if(item==true)
    {alert("really true");}
else
    {alert("lies; not true");}

jsfiddle

我将本地存储的myAwesomeItem设置为true。精细。然后我将此项存储在名为item的变量中。并警惕检查其价值。如您所见,它是true

然后我检查条件是否我的项目是真的。但是它不是。它适用于else

有人能解释一下这种行为吗?

2 个答案:

答案 0 :(得分:6)

本地存储将存储的任何内容转换为字符串。所以你可以这样做:

if(item=="true")...

答案 1 :(得分:6)

Localstorage将所有内容存储为字符串。因此,您输入的真实内容实际上保存为" true"和假的"假"。

javascript中的所有非空字符串都评估为true。