Я запустил инструмент JSLint для моих файлов сценариев Java. Я исправил большинство проблем, но я не могу исправить один комментарий - PullRequest
0 голосов
/ 24 января 2011

Я запустил инструмент JSLint для моих файлов сценариев Java.Я исправил большинство проблем, но я не могу исправить один комментарий.

Подразумеваемый глобальный:

  • документ 1,4,7,10,31,34,38, 58,61,64,67,74,103,106,109,432,441,450,
  • подтвердить 364,
  • hideErrorMessageFields 403,
  • spanBusinessDivisionValidate 409,
  • spanBusinessGroupValidate 418,
  • validatePeoplePicker 425,434,452,
  • spanPeopleWorkingOSSValidate 427,
  • spanRequiredGMAliasValidate 436,

Как исправить этот комментарий?

Ответы [ 3 ]

3 голосов
/ 24 января 2011

Вы ссылаетесь на document, confirm и т. Д. Как на вещи, которые существуют в глобальном пространстве имен.

JSLint волшебным образом не знает, что они есть.Таким образом, вы можете использовать опцию global, чтобы объявить их известными глобальными переменными, добавив

/*global document confirm etc*/

в начало вашего файла.Это должен быть комментарий и создание разделенного пробелами списка имен, переменных, функций и т. Д., Которые, как вы знаете, являются глобальными.Тогда JSLint перестанет предупреждать вас, что он не знает о них.

0 голосов
/ 28 января 2011
  JSLint documentation says: 

Undefined Variables and Functions

JavaScript's biggest problem is its dependence on global variables, particularly implied global variables. If a variable is not explicitly declared (usually with the var statement), then JavaScript assumes that the variable was global. This can mask misspelled names and other problems.

JSLint expects that all variables and functions are declared before they are used or invoked. This allows it to detect implied global variables. It is also good practice because it makes programs easier to read.

Care for that error. Nearly every coding convention wants you not to use implied globals. 

Variables can be declared using the var keyword
0 голосов
/ 25 января 2011

Добавьте флаг «Предположим, браузер» вверху вашего JS-файла:

/*jslint browser:true*/

От JSLint :

Некоторые глобальные переменные могут бытьпредопределено для вас.Выберите параметр «Предполагать браузер (браузер)», чтобы предопределить стандартные глобальные свойства, предоставляемые веб-браузерами, такими как document и addEventListener.Это имеет тот же эффект, что и этот комментарий:

/ * global addEventListener: false, blur: false, clearInterval: false, clearTimeout: false, close: false, закрытый: false, defaultStatus: false, document: false,событие: ложь, фокус: ложь, фреймы: ложь, getComputedStyle: ложь, история: ложь, изображение: ложь, длина: ложь, местоположение: ложь, перемещение: ложь, перемещение: ложь, имя: ложь, навигатор: ложь, onblur:true, onerror: true, onfocus: true, onload: true, onresize: true, onunload: true, open: false, opener: false, Option: false, parent: false, print: false, resizeBy: false, resizeTo: false,Экран: false, scroll: false, scrollBy: false, scrollTo: false, setInterval: false, setTimeout: false, статус: false, top: false, XMLHttpRequest: false * /

...