什么';这个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