尝试使用构造函数创建嵌套对象时出现以下错误:
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();
}
我到处都查过了,但似乎找不到答案,我想知道我是否犯了一些愚蠢的错误。 任何帮助都很棒,谢谢 :)
最佳答案
因为对象 name 是未定义的,而且它上面也没有属性 data,所以你必须初始化 this.name 和 < em>this.name.data 在添加 CarName 之前:
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;};
}
关于javascript - 尝试使用构造函数处理嵌套对象时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47089811/