您無法在結構上訪問對象字面值中的其他屬性。您得到undefined
,因爲您沒有變量id
。您將需要使用:
var id = 100;
var events = [{"id":id, "url":"mc.jsp?id=" + id}];
或:
var event = {id: 100};
event.url = "mc.jsp?id=" + event.id
var events = [event];
,但你可以定義一個getter:
var events = [{id: 100, get url() { return "mc.jsp?id="+this.id; } }];
這是非常複雜和難以理解。也許最好是這樣做:
function MyEvent(id, mc) {
this.id = id;
this.mc = mc;
}
MyEvent.prototype.getUrl = function() {
return "mc"+this.mc+".jsp?id="+this.id;
};
var events = [new MyEvent(100, ""), new MyEvent(200, "2"), ...];
但是,應該沒有這樣的問題。如果你硬編碼的數字,你爲什麼不硬編碼的網址?如果您不想要冗餘,只需將該ID保存兩次,並在每次需要時追加它。
你想要做的事情不會奏效。向我們展示更多的循環,我們將能夠給出更好的答案。 –