gpt4 book ai didi

javascript - 无法访问 javascript 对象内部数组元素的对象属性

转载 作者:行者123 更新时间:2023-12-03 05:11:11 26 4
gpt4 key购买 nike

我在一个对象内有一个对象数组。

为什么我会收到下面的错误“无法读取未定义的属性 fname”?我该如何修复它?

另外,我是 JavaScript 新手,希望能得到任何样式或约定建议。

https://jsfiddle.net/go1eu9z6/

function myObj() {
this.X = [],

this.haveEntries = function() {
return this.A.length > 0;
},

this.add = function(fname_in, lname_in, city_in) {
var t = new Date().getTime() / 1000;

var obj = {
fname: fname_in,
lname: lname_in,
city: city_in,
t_create: t
};

this.X.push(obj);

return this;
}
}

var AB = {};
AB.X = new myObj();

AB.X.add("mike", 'smith', 'Toronto');

var s = AB.X[0].fname; // Error: Cannot read property fname of undefined

document.getElementById('fname').innerHTML = s

最佳答案

您的 JavaScript 代码存在一些问题。首先,您为 AB.X 分配了 new Obj() 的值,而不是简单的 AB。然后,您在 AB.X 上调用 add 方法,而正确的调用只是 AB.add - 请参阅下面的代码示例

  function myObj() {
this.X = [],

this.haveEntries = function() {
return this.A.length > 0;
},

this.add = function(fname_in, lname_in, city_in) {
var t = new Date().getTime() / 1000;

var obj = {
fname: fname_in,
lname: lname_in,
city: city_in,
t_create: t
};

this.X.push(obj);

return this;
}
}

var AB = {};
AB = new myObj();

AB.add("mike", 'smith', 'Toronto');

var s = AB.X[0].fname;

关于javascript - 无法访问 javascript 对象内部数组元素的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41813175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com