“Используйте нотацию литерала массивов []” для var os_map = {}

Я не понимаю, почему я получаю сообщение об ошибке, когда я выполняю JSLint с файлом JavaScript.

Я получаю var сообщения os_map = {}; Problem at line 28 character 36: Use the array literal notation []. если я выполняю этот код в JSLint. Опции для JSLint как следующее.

/*jslint onevar: true, browser: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, strict: true, newcap: true, immed: true */

Требование объекта (который является {}) должен быть хорошо, но JSLint suggets для использования пустого массива (который является [])

: Я нашел ответ. Я был неправ. Нет ничего неправильно с var os_map = {}. Код показали в сообщении об ошибке, потому что я не использовал "require strict";. Я понял сообщение об ошибке превратно. Спасибо за ответ на мои вопросы.

11
задан TK. 2 January 2016 в 00:19
поделиться

2 ответа

Ошибочная строка:

var os_autoload_inputs = new Array('searchInput', 'searchInput2',
                                   'powerSearchText', 'searchText');

JSLint не ожидает , что увидит новый конструктор Array, вам следует использовать [] вместо:

var os_autoload_inputs = ['searchInput', 'searchInput2',
                                   'powerSearchText', 'searchText'];

Почему? :

1, Крокфорду не нравится новый.

2, Объект Массив можно переопределить:

Array = {};
new Array(); // TypeError: Array is not a constructor

3, Несоответствия использования, д. g.:

var a = new Array(5); // empty 5 elements array
var b = [5]; // 1 element array containing the 5 number on index 0

См. также:

33
ответ дан 3 December 2019 в 01:44
поделиться

Я прочитал строку 28 в , что код :

var os_autoload_forms = new Array('searchform', 'searchform2', 'powersearch', 'search' );

... где действительно было бы уместно использовать синтаксис литерального массива:

var os_autoload_forms = ['searchform', 'searchform2', 'powersearch', 'search' ];

Он должен однако сказать то же самое о строке 27.

1
ответ дан 3 December 2019 в 01:44
поделиться
Другие вопросы по тегам:

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