1.我想將id [i]推入全局數組中。當我推動後,它將是每個數組中的id.length數字項,但它會是錯誤的,並說y不是function.how來解決它?Javascript循環插入全局數組
2.底部的sendrequest會發送一個xmlhttprequest給服務器,但我不明白它爲什麼會先運行然後函數(parResponse)會在tmpReadRequest.sendReadRequest()後觸發。已經下降。
非常感謝
var tes0=new Array();
var tes1=new Array();
var tes2=new Array();
var tes4=new Array();
var tes5=new Array();
function ReadValuePath(id, Variable,id_2) {
var tmpReadCB = function(parResponse)
{
for (var tmpIndex = 0; tmpIndex < parResponse.length; tmpIndex++)
{
var tmpItemValue = parResponse[tmpIndex];//console.log(tmpItemValue);
var tmpValue = (tmpItemValue.mItemValue) ? tmpItemValue.mItemValue : tmpItemValue.mItemResultId;
if(document.getElementById(id[tmpIndex]) != null && document.getElementById(id_2[tmpIndex]).value != 0)
{
document.getElementById(id[tmpIndex]).value = parseFloat(tmpValue).toFixed(2);
}
}
return true;
}
var tmpReadRequest = new OPCReadRequest("DE", tmpReadCB);
for(var z=0;z<5;z++){
for(var i = 0; i < id.length; i++)
var y="tes"+z;
y.push(id[i]);
tmpReadRequest.addItem("ab", Variable[i]);
}
}
tmpReadRequest.sendReadRequest();
}
'y'不是一個數組,因此它沒有'推'的方法,因此你的例外。除非它是由var y =「tes」+ z'覆蓋的全局變量。 – ste2425
如何訪問全局數組var var0到5? – yichengwang
您可以使用'window'對象和字符串文字或稍微改變您的結構,以便您的數組位於對象中,然後使用該對象的字符串字面值。所以第一個選項是'window [y] .push(id [i])'; – ste2425