尝试使用构造函数创建嵌套对象时出现以下错误:
Uncaught TypeError: Cannot read property 'data' of undefined
这是我的代码:
function Car(name){
this.name.data.CarName = name;
this.show = function(){document.getElementById("fill").innerHTML = toyota.name.data.CarName;};
}
var toyota;
function functionadd(){
toyota = new Car("Toyota");
toyota.show();
}
我到处都看了这个,似乎无法找到答案,我想知道我是否犯了一些愚蠢的错误。 任何帮助都很棒,谢谢:)。
答案 0 :(得分:1)
这是因为对象名称未定义且其上也没有属性 data ,因此您必须初始化 this.name 和<添加 CarName 之前的em> this.name.data :
function Car(name){
this.name = {};
this.name.data = {};
this.name.data.CarName = name;
this.show = function(){document.getElementById("fill").innerHTML = toyota.name.data.CarName;};
}
对象时间更短:
function Car(name){
this.name = { data: { CarName: name } };
this.show = function(){document.getElementById("fill").innerHTML = toyota.name.data.CarName;};
}