ReferenceError:未定义:localStorage

时间:2014-02-25 11:30:36

标签: javascript jquery html5

所以我现在真的很困惑,不确定我是不是很愚蠢但是......当我的页面加载时我想将一些localStorage绑定到一个名为JsonData的变量。

    $(document).ready(function() {

    var JsonData = localStorage.getItem(0);

    .....

这是我的控制台的屏幕截图,用于证明localStorage.getItem(0)在页面加载时有一个项目。

enter image description here

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

因为变量JsonData是在dom ready回调中定义的,使其成为该方法的本地变量 - 您正试图从变量不存在的console中访问该变量。

如果你真的想要跨越多个独立范围访问变量,那么将它声明为全局变量,但我建议不要使用它(简单的不喜欢用我的变量污染全局范围)

var JsonData = localStorage.getItem(0);

$(document).ready(function () {

});

因为数据与dom结构无关,所以你可以移出dom ready handler

答案 1 :(得分:2)

除非代码暂停在同一范围内JsonData驻留的断点,否则console.log将在全局范围内运行。 JsonData位于ready回调内,无法从全局范围访问,因此错误。

我建议在ready处理程序中的某处放置一个断点。然后你可以使用console.log。在Chrome中,您可以通过按ESC键从开发工具中的任何位置弹出控制台。