JSHint (форк от JSLint) – это популярная "проверка ворсинок", которая запускается в коде JavaScript. Он не выполняет и не модифицирует код, а анализирует его и сообщает о множестве различных потенциальных ошибок или неправильных действий, которые обнаруживает.
Если у вас есть 'use strict';
в верхней части вашего файла JavaScript, за пределами каких-либо функций JavaScript, это включит строгий режим для всего файла. По умолчанию JSHint сообщит о предупреждении, если увидит это.
'use strict';
window.permissions = null;
function initialize() {
window.permissions = 0;
}
Warnings
1: Use the function form of "use strict".
Это связано с тем, что многие люди автоматически объединяют свои файлы JavaScript перед отправкой их пользователю, и в этих случаях 'use strict;'
верхнего уровня может вызвать ошибки. Например, если у вас есть 'use strict';
в верхней части main.js
, и он связан с нестрогим режимом controls.js
, строгий режим также будет непреднамеренно применен к коду из controls.js
, потенциально изменяя его поведение.
// This code is fine on its own, but will break if strict mode is applied.
document.querySelector('.upgade').onclick = function() {
window.permissions = 0777;
}
Если это может произойти в вашем случае, вам следует избегать 'use strict';
на верхнем уровне вашего файла. Вы можете использовать весь файл в самовыполняющейся функции, чтобы избежать побочных эффектов конкатенации.
(function() {
'use strict';
window.permissions = null;
function initialize() {
window.permissions = 0;
}
}());
Однако, если вы уверены, что вам не нужно беспокоиться о конкатенации и не хотите изменять свой код, globalstrict
для JSHint отключит это предупреждение. также возможно указать параметры JSHint с помощью файла .jshintrc
или флага командной строки --config
, но в во многих случаях эта «встроенная конфигурация», которую вы видели, — с использованием комментария в файле — является самой простой.
/* jshint globalstrict: true */
person
Jeremy
schedule
27.11.2014