linux5620207
2016-06-26 03:20js webStorage相关问题?
如下是整个代码,可以运行。我的问题是:在函数cookieToList中,如果把localStorage.getItem("cart") && (a = eval(localStorage.getItem("cart")));这一行注释,而使用下边的a = eval(localStorage.getItem("cart"));就会报错。
经过控制台输出查看,上边的语句得到的a为[],而下边的语句得到的a为null,为什么会不同呢。localStorage.getItem("cart")这个语句按说没起什么作用,又没要对变量赋值,都是执行的 && 后边的语句。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="jquery-1.7.1.min.js"></script>
<script type="text/javascript">
$(function(){
var good_list = cookieToList();
$('button').on('click',addCart);
function addCart() {
good_list.push({
gid: 1,
buyTimes: 1
});
localStorage.setItem("cart", JSON.stringify(good_list));
cookieToList();
}
function cookieToList() {
var a = [];
localStorage.getItem("cart") && (a = eval(localStorage.getItem("cart")));//a == []
//a = eval(localStorage.getItem("cart"));//a == null
return a;
}
});
</script>
</head>
<body>
<button type="button">click</button>
</body>
</html>
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- 使用localStorage和Websocket自动授权
- server
- javascript
- websocket
- 1个回答
- Symfony Websockets:已记录的用户始终在主题中返回匿名
- cookies
- symfony
- websocket
- php
- 2个回答
- 如何将JMVC(javascript-mvc)和服务器端MVC结合在一起
- html5
- javascript
- ajax
- php
- 3个回答
- php js - 在他的计算机上存储用户设置
- store
- javascript
- php
- local
- settings
- 2个回答
- 安全Laravel网站托管
- laravel
- php
- 2个回答
换一换