Ответ 1
Похоже, последующая проблема не [просто?] из-за того, что JSLint находится в бета-версии. Это потому, что Crockford больше не разрешает for
заявления по умолчанию. Похоже, мне нужно отложить выходные на прочитайте новые инструкции и источник. Странные вещи происходят в Круге К, человек.
Самая важная новая особенность ES6 - правильные хвостовые звонки. Это нет нового синтаксиса, поэтому JSLint этого не видит. Но это делает рекурсию намного больше привлекательный, который создает петли, особенно для петель, а тем более привлекательный.
Затем это в главной таблице раздела директивы /*jslint */
:
Описание: выражение Tolerate
for
Вариант:for
Значение:true
, если операторfor
должен быть разрешен.
Ниже таблицы ниже представлено следующее объяснение:
JSLint не рекомендует использовать инструкцию
for
. Использовать методы массива напримерforEach
. Параметрfor
подавляет некоторые предупреждения. формыfor
, которые принимает JSLint, ограничены, исключая новые формы ES6.
Итак, чтобы сделать этот ворс в новом JSLint, вам нужен хотя бы этот код (с директивой for
):
/*jslint white:true, for:true */
/*global scope, title */
function test()
{
"use strict";
var i;
for (i=0; i < scope.formData.tabs.length; i = i + 1) {
scope.formData.tabs[i].show = false; // hide all the other tabs
if (scope.formData.tabs[i].title === title) {
scope.formData.tabs[i].show = true; // show the new tab
}
}
}
Обратите внимание, что мне все равно пришлось переместить инициализацию i
, поэтому у вас может быть проблема отчетность. Я также признаю Я с Стивеном на вопрос, который вы связываете; Я не уверен, почему i+= 1
лучше. Но теперь это похоже на жесткое требование. Нет опции plusplus
.
Обратите внимание, что если код не был завернут в функцию (я завернул в test
, выше), вы получите Unexpected 'for' at top level.
, что является новой ошибкой.