[英]Reference Error Variable not declared
我一直在摸不着頭腦試圖解決這個問題。 但幾個小時后,仍然沒有運氣。 所以我創建了一個函數,但是當我運行代碼時,它說我得到了一個Reference錯誤,並說該變量未被聲明
這是我的代碼:
<html>
<head>
<script src = "fileLoading.js"></script>
<script>
function initialLoad(boolean vraiFaux){
fileLoading("inventory.xml", vraiFaux); //boolean to variable
}
//function pageWrite(){
// code here
//}
</script>
</head>
<button type = "button" onClick = "initialLoad(false)">
<img src = "panda4.png" alt="Does this work?"></img>
</button>
<body id = "body" onload="initialLoad(true)">
</body>
</html>
這是我的.js文件
var xmlDoc;
function fileLoading(dname, vraiFaux)
{
if(vraiFaux){
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname,false);
xhttp.send();
xmlDoc = xhttp.responseXML;
}
var products = xmlDoc.getElementsByTagName("PRODUCT");
var saleItems = new Array();
var p = 0;
for(var i = 0; i<products.length; i++){
if((products[i].getAttribute("sale")).equals("yes"){
document.getElementById("body").innerHTML+=
('<img src = ' + products[i].getElementsByTagName("PIC")[0].childNodes[0].nodeValue + '</img>' ); // need spacing
saleItems[p] = i;
p++;
if (p == 3)
break;
}
}
}
function pageWrite(){
document.getElementById("body").innerHTML=
('<table border = '1'>');
var checker = 0;
for(int externalForLoop = 0; externalForLoop < products.length){
if(checker => products.length)
break;
document.getElementById("body").innerHTML +=
('<tr>');
for (int i = 0; i =< 2; i++){
document.getElementById("body").innerHTML +=
('<td><b><img src = ' + products[checker].getElementsByTagName("PIC")[0].childNodes[0].nodeValue + '</img></b></br></td>' +  );
}
document.getElementById("body").innerHTML +=
('</tr></br>');
//next for loop goes after here
for (int n = 0; n =< 2; n++){
document.getElementById("body").innerHTML +=
products[checker].getElementsByTagName("NAME")[0].childNodes[0].nodeValue + '</b></br></td>' +  );
}
document.getElementById("body").innerHTML +=
('</tr></br>);
//next for loop goes after here
for (int c = 0; c =< 2; c++){
document.getElementById("body").innerHTML +=
products[checker].getElementsByTagName("CATAGORY")[0].childNodes[0].nodeValue + '</b></br></td>' +  );
}
document.getElementById("body").innerHTML +=
('</tr></br>);
//next for loop goes after here
for (int o = 0; o =< 2; o++){
document.getElementById("body").innerHTML +=
products[checker].getElementsByTagName("COMPANY")[0].childNodes[0].nodeValue + '</b></br></td>' +  );
}
document.getElementById("body").innerHTML +=
('</tr></br>);
//next for loop goes after here
for (int d = 0; d =< 2; d++){
document.getElementById("body").innerHTML +=
products[checker].getElementsByTagName("DESCRIPTION")[0].childNodes[0].nodeValue + '</b></br></td>' +  );
}
document.getElementById("body").innerHTML +=
('</tr></br>);
//next for loop goes after here
for (int p = 0; p =< 2; p++){
document.getElementById("body").innerHTML +=
products[checker].getElementsByTagName("PRICE")[0].childNodes[0].nodeValue + '</img></b></br></td>' +  );
}
document.getElementById("body").innerHTML +=
('</tr></br>);
//next for loop goes after here
for (int s = 0; s =< 2; s++){
document.getElementById("body").innerHTML +=
products[checker].getElementsByTagName("SALE")[0].childNodes[0].nodeValue + '</b></br></td>' +  );
}
document.getElementById("body").innerHTML +=
('</tr></br>);
//next for loop goes after here
checker++;
if (checker == (products.length - 1)){
document.getElementById("body").innerHTML +=
('</table>')
}
var products=xmlDoc.getElementsByTagName("PRODUCT");
}
我猜它是boolean
。 嘗試刪除它。
在Javascript中,您不需要指定變量的類型。 因此,它可能將boolean
作為變量名稱讀取,但是看到沒有名為boolean
變量,因此拋出了引用錯誤。
此外, fileLoading.js
包含多個語法錯誤。 我建議看看它應該為你制作的錯誤......
尤其是:
int
(不需要那些!) =>
而不是大概>=
int
=<
而不是大概<=
第53行
是一個HTML實體,而不是一個Javascript變量; 進入第55行的字符串 這是我推薦在小塊中構建軟件並在每個部分之間進行測試的原因之一:調試像這樣的大量代碼是非常痛苦的,如果你發現它們的第一個實例,許多這些錯誤甚至都不存在早。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.