我的网站上有以下代码:
function GroupObject(GroupID, GroupColor, GroupName, CalendarID, UserEnable, IrcChannel) {
this.uid = GroupID;
this.color = GroupColor;
this.groupname = GroupName;
this.calendarid = CalendarID;
this.userenable = UserEnable;
this.ircchannel = IrcChannel;
}
function GetGroupObjects(callback) {
var GlobalDB = [];
$.getJSON("Some Data From Google Docs",
function (data) {
$.each(data.feed.entry, function (i, entry) {
GlobalDB.push(new GroupObject(entry.gsx$uid.$t,
"000000",
SanitizeInputText(entry.gsx$group.$t),
SanitizeInputCalID(entry.gsx$calendarid.$t),
true,
SanitizeInputText(entry.gsx$ircchannel.$t)))
});
console.log(GlobalDB[0]);
console.log(GlobalDB[0].color);
callback(GlobalDB);
});
};
新创建的 GlobalDB 的所有参数都是正确的,唯一的例外是参数“颜色”。console.log(GlobalDB[0]) 返回:
GroupObject
calendarid: "CalOfTNG"
color: "AB8B00"
groupname: "Austin TNG"
ircchannel: "AustinTNG"
uid: "TNG"
userenable: true
__proto__: GroupObject
它在 Chrome 和 Firefox 中为颜色“AB8B00”带来相同的值。知道为什么吗?从上面的代码来看,它应该是 0。console.log(GlobalDB[0].color) 确实返回 000000。但是当我从回调返回时使用 GlobalDB 时,我再次得到 AB8B00。
用户启用,另一方面工作得很好。我只是找不到参数 .color 的问题所在,因为它在 Chrome 和 Firefox 中都失败了。
提前致谢。