Большинство учебных пособий, которые я читал на массивах в JavaScript (включая w3schools и devguru) предполагают, что вы можете инициализировать массив с определенной длиной, передав целое число в конструктор Array с использованием синтаксиса var test = new Array(4);
.
После использования этого синтаксиса в моих js файлах я запустил один из файлов через jsLint, и он испугался:
Ошибка: проблема с символом линии 1 22: Ожидаемая ')' и вместо этого увидела '4'.
var test = new Array (4);
Проблема с символом линии 1 23: Ожидаемый ';' и вместо этого увидел ")".
var test = new Array (4);
Проблема с символом линии 1 23: Ожидаемый идентификатор и вместо этого увидели ')'.
После прочтения jsLint объяснения его поведения, похоже, что jsLint не очень похож на синтаксис new Array()
и вместо этого предпочитает []
при объявлении массивов.
Итак, у меня есть пара вопросов. Во-первых, почему? Я рискую с помощью синтаксиса new Array()
? Есть ли несовместимости браузеров, о которых я должен знать? И, во-вторых, если я переключусь на синтаксис квадратной скобки, есть ли способ объявить массив и задать его длину в одной строке, или мне нужно сделать что-то вроде этого:
var test = [];
test.length = 4;