[javascript] JSLint : 정의되기 전에 사용되었습니다.

안녕하세요 저는 3 개의 자바 스크립트 파일이 있습니다.

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

file1.js에는

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

정의되기 전에 ‘jQuery’가 사용되었습니다. 정의되기 전에 ‘문서’가 사용되었습니다.

이 경고를 안전하게 제거하려면 어떻게해야합니까?

만약 내가한다면

var document = document || {}; 

그런 다음 내 utility.js에서 사용되는 경우 IE에서는 null이고 firefox에서는 괜찮습니다.

이것에 대한 최선의 해결책은 무엇입니까?



답변

에서 문서

JSLint는 또한이 파일에 사용 된 변수가 다른 파일에 정의되었음을 JSLint에 표시 할 수있는 / * global * / 지시문을 인식합니다. 주석에는 쉼표로 구분 된 이름 목록이 포함될 수 있습니다. 각 이름 뒤에는 선택적으로 콜론과 true 또는 false가 올 수 있습니다. true는 변수가이 파일에 할당 될 수 있음을 나타내고 false는 할당이 허용되지 않음을 나타냅니다 (기본값). 지시문은 기능 범위를 존중합니다.

일부 전역은 미리 정의 할 수 있습니다. 브라우저 (브라우저) 가정 옵션을 선택하여 문서 및 addEventListener와 같은 웹 브라우저에서 제공하는 표준 전역 속성을 미리 정의합니다.

예:

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


답변

Quentin이 말했듯이 /*global*/지침이 있습니다.

다음은 예입니다 (파일 상단에 배치).

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

초기 전역 문이와 같은 줄에 있는지 확인하십시오 /*. 그렇지 않으면 중단됩니다.


답변