Javascript 为什么页面加载上设置的变量在document.ready范围内不可用?
我有一个包含的javascript文件,它初始化了一个名为“widgets”的空数组对象 在同一个示例中,定义了一系列功能原型,以向小部件添加小部件信息:Javascript 为什么页面加载上设置的变量在document.ready范围内不可用?,javascript,jquery,variables,scope,Javascript,Jquery,Variables,Scope,我有一个包含的javascript文件,它初始化了一个名为“widgets”的空数组对象 在同一个示例中,定义了一系列功能原型,以向小部件添加小部件信息: Widget.prototype.addWidgetInfo(a,b,c){ this.info.a = a; this.info.b = b; ... } 还有许多函数支持文件末尾的document.ready(){}块 在页面主体中,对于输出的每个小部件,都会输出一行js,并调用这个原型函数 Widgets[id] = new W
Widget.prototype.addWidgetInfo(a,b,c){
this.info.a = a;
this.info.b = b;
...
}
还有许多函数支持文件末尾的document.ready(){}块
在页面主体中,对于输出的每个小部件,都会输出一行js,并调用这个原型函数
Widgets[id] = new Widget();
Widgets[id].addwidgetInfo("bla","bla","bla");
然而,当DocumentReady调用时
Widgets[id]。信息是一个空数组
我搞不懂为什么地球上没有这些数据!请帮助给出的示例中有一些错误。我不确定这是您的问题,还是您的示例中的问题:
未正确声明。应该是:addWidgetInfo
Widget.prototype.addWidgetInfo = function(a,b,c){
未初始化。应该是此.info
Widget.prototype.addWidgetInfo = function(a,b,c){ this.info = {}; this.info.a = a; ... }
Widget.prototype.addWidgetInfo = function(a,b,c){
this.info = {};
this.info.a = a;
...
}