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