Большинство руководств, которые я читал по массивам в 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;
new Array()
в целом, но это нормальнос указанием размера. Я думаю, что все сводится к согласованности кода во всем контексте.