JSLint: использовался до его определения

Привет У меня есть 3 файла javascript.

  • jquery.js
  • utility.js
  • file1.js

В file1.js у меня есть

jQuery.noConflict()
jQuery(document).ready(function($) { 
 // ....
});

Я получаю сообщение об ошибке "jQuery" использовался до его определения. и "документ" использовался до его определения.

Как я могу избавиться от этого предупреждения.

Если я делаю

var document = document || {}; 

то в моей утилите .js, если она будет использоваться, она будет пустой в IE и ok в firefox.

Какое лучшее решение для этого?

Ответ 1

Из документация

JSLint также распознает /* глобальную директиву */, которая может указывать JSLint, что переменные, используемые в этом файле, были определены в других файлах. Комментарий может содержать список имен, разделенных запятыми. Каждое имя может сопровождаться двоеточием и либо истинным, либо ложным, истинным, указывающим, что этой переменной может быть присвоен этот файл, а false, указывающий, что назначение не разрешено (что является значением по умолчанию). Директива относится к области возможностей.

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

Пример:

/*jslint browser: true*/
/*global $, jQuery*/

Ответ 2

Как говорит Квентин, существует директива /*global*/.

Вот пример (поместите это в начало файла):

/*global var1,var2,var3,var4,var5*/

Убедитесь, что исходный глобальный оператор находится в той же строке, что и /*, иначе он будет разбит.