什么';这个javascript有什么问题?未定义数组
这个代码怎么了什么';这个javascript有什么问题?未定义数组,javascript,html,arrays,reference,Javascript,Html,Arrays,Reference,这个代码怎么了 var divarray = document.getElementById("yui-main").getElementsByTagName("div"); var articleHTML = array(); var absHTML; var keyHTML; var bodyHTML = array(); var i = 0; for ( var j in divarray) { if(divarray[i].className == "articleBody"){
var divarray = document.getElementById("yui-main").getElementsByTagName("div");
var articleHTML = array();
var absHTML;
var keyHTML;
var bodyHTML = array();
var i = 0;
for ( var j in divarray) {
if(divarray[i].className == "articleBody"){
alert("found");
articleHTML = divarray[i];
break;
}
bodyHTML[i] = '';
if(articleHTML[i].className == "issueMiniFeature"){continue;}
if(articleHTML[i].className == "abstract"){absHTML = articleHTML[i]; continue;}
if(articleHTML[i].className == "journalKeywords"){keyHTML = articleHTML[i]; continue;}
bodyHTML[i] = articleHTML[i];
i++;
}
这就是我得到的错误:
ReferenceError: array is not defined
如果谷歌Chrome有帮助的话,我正在使用它。它是ECMAScript中的
[]
;这不是PHP。解释器是正确的-array
未定义,这就是为什么会出现这种情况。这不是将变量声明为空数组的方法。您应该使用:
var articleHTML = [];
对于使用此方法而不是
new Array()
var variable_name = new Array()
甚至更好
var variable_name = []
而不是
var articleHTML = array();
及
做
及
您首先需要定义
var divarray = new Array();
您也不需要六次使用var,您可以:
var divarray = document.getElementById("yui-main").getElementsByTagName("div"),
articleHTML = [],
absHTML = [],
keyHTML = [],
bodyHTML = [],
i = 0;
它和你的六个Var一样好,但是看起来更好
还有许多令人信服的理由不在实例化数组时使用new(除了[];比new array()短得多之外)注意!Javascript是区分大小写的,您必须在单词数组中使用大写字母
var myarr = new array(); //THIS IS WRONG! and will result in error not defined
因此,以下是正确的方法:
var myarr = new Array(); //THIS IS CORRECT (note the "big" A) :)
var myarr = []; //and this is correct too
以这种方式阅读自己的代码非常有趣-很难确定变量首先声明在哪里。请看python.ruby也是这样的
var divarray = new Array();
var divarray = document.getElementById("yui-main").getElementsByTagName("div"),
articleHTML = [],
absHTML = [],
keyHTML = [],
bodyHTML = [],
i = 0;
var myarr = new array(); //THIS IS WRONG! and will result in error not defined
var myarr = new Array(); //THIS IS CORRECT (note the "big" A) :)
var myarr = []; //and this is correct too