我是JavaScript新手,从外面访问对象时遇到麻烦。 在我想访问此对象的属性之前,我的方法用对象填充数组。
Reservation = {
objArr: [], // stores CalendarDates objects
dates: ["test", "foo", "bar"], // some test strings
actionMethod: function() {
Reservation.objArr[0] = new Reservation.CalendarDate.construct(Reservation.dates[0]);
alert(Reservation.dates[0].testVariable); // returns 'undefined'
}
};
Reservation.CalendarDate = {
testVariable: '',
construct: function(testVariable) {
Reservation.CalendarDate.testVariable = testVariable;
}
};
如何从对象外部访问属性(testVariable),该对象存储在数组中。
感谢您的帮助!
答案 0 :(得分:2)
我认为你正试图在这些方面取得成就......
var Reservation = {
objArr: [], // stores CalendarDates objects
dates: ["test", "foo", "bar"], // some test strings
actionMethod: function() {
var temp = new Reservation.CalendarDate(Reservation.dates[0]);
Reservation.objArr[0] = temp;
alert(Reservation.objArr[0].testVariable);
}
};
Reservation.CalendarDate = function(testVariable) {
this.testVariable = testVariable;
};
Reservation.actionMethod();
答案 1 :(得分:1)
我不确定你想要完成什么,但这会做你想要的:
Reservation = {
objArr: [], // stores CalendarDates objects
dates: ["test", "foo", "bar"], // some test strings
actionMethod: function() {
this.objArr[0] = new this.CalendarDate.construct(this.dates[0]);
alert(this.objArr[0].testVariable); // returns 'test'
},
CalendarDate: {
testVariable: '',
construct: function(testVariable) {
this.testVariable = testVariable;
}
}
};
那就是说,如果你试图模仿Javascript中的课程(我不会为你不应该开始制作一个火焰战争),你应该阅读其中许多好文章/书籍中的一篇。 Getify's free book对此主题有一些很好的信息。