我有全局对象数组,如此
var data = {};
data.meta = [{..},{..},{..}];
然后我像这样定义一个Javascript类:
var ui = {};
ui.Ruler = function(d) {
this.d = d;
this.o = null;
};
ui.Ruler.prototype.render = function () {
console.log('render');
return this.o;
};
我可以从开发控制台访问data.meta
,它会向我显示其内容。
然而,
当我初始化类的一个实例并传递一个data.meta
,
var ruler = new ui.Ruler(data.meta[0]);
控制台给我一个错误:
未捕获的TypeError:无法读取未定义的属性“0”
此外,data.meta
突然变为undefined
。怎么会这样?我究竟做错了什么?我希望data.meta[0]
在实例化的ruler
对象中可用。如果我不运行此行,则仍会定义data.meta
。有人可以向我解释这里发生了什么吗?
答案 0 :(得分:1)
我似乎一切都好。 我试过在FF和Chrome中运行它 - 好吧。 这是我的小提琴testing link
var ruler = new ui.Ruler(data.meta[0]);
(我无法发表评论)