jsLintで次のエラーが発生します。
「ドキュメント」は、定義される前に使用されました。
エラーの原因となる行:
document.cookie = name + "=" + value + expires + "; path=/";
これが発生する理由はわかりますが、コードを準拠させたいです。
どうすれば解決できますか?
ありがとう。
場所
/*jslint browser:true */
関数の本体の始めに。または、代わりに、
/*global document: false */
JSLintはJavaScriptコードのチェック用であり、document
グローバルオブジェクトはどこにでも存在するわけではないため、コードがブラウザーで実行されることを目的としているため、document
グローバル変数が定義されていることをJSLintに手動で通知する必要があります。たとえば、サーバー側のJavaScriptの場合、JSLintがこのエラーについて報告することが期待されています。
JslintのWebサイトから、/global/ディレクティブについて読み、他の場所で宣言されていると想定される変数を設定することができます。
次に例を示します(これをファイルの先頭に置きます)。
/\*global var1,var2,var3,var4,var5\*/
または、starjavaの場合:
/\*global document\*/
:true
または:false
が必要かどうかは実際にはわかりませんが、サイトで読んだ内容からは推奨されているようです。 http://www.jslint.com/lint.html
最初のグローバルステートメントが'/\*'
と同じ行にあることを確認してください。
ノードを使用している場合は、次の行を追加できます
/ * node JSLint: true * /
スクリプトの開始時 http://jslinterrors.com/a-was-used-before-it-was-defined/
すべてのJSコードがブラウザーから実行されることになっている場合は、--browser
国旗。
jslint --browser my.js
CLIモードでは、構成ファイルを使用できます。
jslint.conf
{
"predef": [
"module",
"require",
"window",
"document",
"jQuery",
"Backbone",
"Marionette",
"Modernizr",
"_",
"setTimeout",
"clearTimeout",
"setInterval",
"clearInterval"
],
"evil":false,
"indent":4,
"vars":true,
"passfail":false,
"plusplus":false
}
また、--config jslint.conf
パラメータを指定してjslintを使用します。