所以我现在真的很困惑,不确定我是不是很愚蠢但是......当我的页面加载时我想将一些localStorage绑定到一个名为JsonData的变量。
$(document).ready(function() {
var JsonData = localStorage.getItem(0);
.....
这是我的控制台的屏幕截图,用于证明localStorage.getItem(0)在页面加载时有一个项目。
有什么想法吗?
答案 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键从开发工具中的任何位置弹出控制台。