我可以将localstorage中的值设置为二进制true吗?

时间:2014-04-29 14:20:29

标签: javascript local-storage

我的代码做了这样的检查:

if (localStorage.isAuthenticated == true) {
   $scope.template = $scope.templates[1];
} else {
   $scope.template = $scope.templates[0];
}

有人可以告诉我这是否有效。如果没有,那么如何将其设置为true或false?

另外,我如何检查是否未设置localStorage.isAuthenticated。在这种情况下,我希望设置为$scope.templates[1].

2 个答案:

答案 0 :(得分:1)

只需使用JSON.parse

localStorage.isAuthenticated = true;

if (localStorage.isAuthenticated && JSON.parse(localStorage.isAuthenticated )) {
   //great
}

我使用&&检查值是否未定义。如果localStorage.isAuthenticated因未设置而返回undefined,则会返回false。

答案 1 :(得分:0)

不,你不能

因为localstorage只支持字符串,而不支持布尔值  您可以查看此链接http://www.acetous.de/152/localstorage-sessionstorage-arrays-und-objekte-speichern

更新:

 if(localStorage.getItem("key")==null) 
         localStorage.setItem("key","true");
 console.log(localStorage.getItem("key"));//return "true"