Possible Duplicate:
Javascript infamous Loop problem?Javascript - 閉包 - 詞法作用域 - 如何在嵌套函數中包含循環變量數據?
我有以下代碼:
function test() {
var columns = options.columns;
for (var i =0; i < columns.length; i++) {
if (columns[i].type === "number") {
var field = columns[i].field;
columns[i].footerTemplate = function(data) { return buildFooter(data, field); };
}
}
}
function buildFooter(data, field) {
alert(field);
}
庫函數調用footerTemplate功能(這反過來又調用buildFooter)。在buildFooter警報指出領域始終是相同的值(最後一個值迭代中測試的循環。)如何能buildFooter與適當的字段值稱爲(即
columns[0].footerTemplate = function(data) { return buildFooter(data, columns[0].field);}
和
columns[1].footerTemplate = function(data) { return buildFooter(data, columns[1].field);}
等等...
請拿出一個更好的標題。除了簡單地重新提出問題標籤之外的其他內容。 – j08691
對不起。我編輯了一個更好的標題。我的意思是在首次發佈之前更好地描述。 – James