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