Что случилось с этим JavaScript? Массив, не определенный

Что случилось с этим кодом?

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

Я использую Google Chrome, если он помогает кому-либо.

8
задан Arlen Beiler 18 May 2010 в 19:20
поделиться

7 ответов

Это не php - вы должны использовать

var variable_name = new Array()

или даже лучше

var variable_name = []
24
ответ дан 5 December 2019 в 04:54
поделиться

Это [] в ECMAScript; это не PHP. Интерпретатор прав - массив не определен , вот почему вы это получаете.

2
ответ дан 5 December 2019 в 04:54
поделиться

Это не способ объявлять переменные как пустой массив. Вы должны использовать:

var articleHTML = [];

См. Этот предыдущий вопрос для обоснования использования этого метода вместо new Array ()

8
ответ дан 5 December 2019 в 04:54
поделиться

Вместо

var articleHTML = array();

и

var bodyHTML = array();

используйте

var articleHTML = [];

и

var bodyHTML = [];
1
ответ дан 5 December 2019 в 04:54
поделиться

Сначала необходимо определить

var divarray = new Array(); 
1
ответ дан 5 December 2019 в 04:54
поделиться

Вам также не нужно использовать var шесть раз, вы можете сделать:

var divarray = document.getElementById("yui-main").getElementsByTagName("div"),
    articleHTML = [],
    absHTML = [],
    keyHTML = [],
    bodyHTML = [],
    i = 0;

Что работает так же, как и ваши шесть vars, но выглядит намного красивее.

Также есть ряд веских причин не использовать new при создании массива (кроме того, []; намного короче, чем new Array();)

0
ответ дан 5 December 2019 в 04:54
поделиться
var articleHTML = new Array();
2
ответ дан 5 December 2019 в 04:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: