Javascript ReferenceError:未定义:localStorage

Javascript ReferenceError:未定义:localStorage,javascript,jquery,html,Javascript,Jquery,Html,所以我现在真的很困惑,不确定我是否愚蠢,但是。。当我的页面加载时,我想将一些本地存储绑定到一个名为JsonData的变量 $(document).ready(function() { var JsonData = localStorage.getItem(0); ..... 下面是我的控制台的屏幕截图,以证明localStorage.getItem(0)在页面加载中有一个项 有什么想法吗 因为变量JsonData是在dom就绪回调中定义的,使其成为该方法的本地变量

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

    $(document).ready(function() {

    var JsonData = localStorage.getItem(0);

    .....
下面是我的控制台的屏幕截图,以证明localStorage.getItem(0)在页面加载中有一个项


有什么想法吗

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

如果您确实希望跨多个独立作用域访问变量,那么将其声明为全局变量,但我建议您不要这样做(simple不希望我的变量污染全局作用域)


由于数据与dom结构无关,您可以移出dom就绪处理程序,因为变量
JsonData
是在dom就绪回调中定义的,使其成为该方法的本地变量-您正试图从变量不存在的
控制台访问变量

如果您确实希望跨多个独立作用域访问变量,那么将其声明为全局变量,但我建议您不要这样做(simple不希望我的变量污染全局作用域)


由于数据与dom结构无关,您可以移出dom就绪处理程序,除非代码在同一范围内的断点处暂停,否则,
JsonData
驻留,
console.log
在全局范围内运行
JsonData
位于
ready
回调中,无法从全局范围访问,因此会出现错误


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

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


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

我当然不会这么做。。因为我在代码的开头设置了verible,所以我只想通过chrome控制台中的console.log(JsonData)调用它。我当然不会这么做。。因为我在代码开始时设置了verible,所以我只想通过chrome控制台中的console.log(JsonData)调用它。我该如何解决这个问题?@sabof抱歉,你是什么意思?@ArunPJohny我的意思是,得到这个错误并不意味着他的代码有任何问题。@sabof是的,你是对的。。。如果OP仅在所述dom就绪处理程序中使用变量,则可以…@BrentFrench如果您只对检查变量的值感兴趣,请使用console logging语句-查看Google的和博客我将如何解决此问题?@sabof抱歉,你是什么意思?@ArunPJohny我的意思是,得到这个错误并不意味着他的代码有任何问题。@sabof是的,你是对的。。。如果OP仅在所述dom就绪处理程序中使用变量,则可以…@BrentFrench如果您只对检查变量的值感兴趣,请使用console logging语句-查看google的和博客
var JsonData = localStorage.getItem(0);

$(document).ready(function () {

});