問題タブ [jslint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JSLintを使用したremoveEventListenerの検証
JSLintがここで警告を発する理由は理解していますが、コードを検証するために他にどのようにコードを記述すればよいかわかりません。
これが煮詰めたサンプルです。以下のコードには、2つのイベントリスナーをアタッチする必要があるオブジェクトがあります。1つは「complete」用、もう1つは「error」用です。それぞれが独自のイベントハンドラーを指します。どちらかのイベントハンドラーに到達したら、両方のイベントハンドラーを削除したいと思います。ただし、最初のイベントハンドラーから2番目のイベントハンドラーのリスナーを削除しようとすると、常に検証エラーが発生します。
これらの警告のいずれかが表示された場合、それは常に何か間違ったことをしていることを意味しますが、この場合、問題を回避する方法がわかりません。誰かがこれを行う正しい方法を知っていますか?
検証エラーは次
Lint at line 5 character 41: 'handleError' is not defined.
のとおりです:(WebクライアントによるとImplied global: handleError 5
)
jquery - jQueryの.each()を使用する場合、JSLintのループ内関数エラーはどのように適用されますか?
ループ.each()
内から匿名関数を使用する jQuery呼び出しを使用しています。for
JSLint は、「ループ内で関数を作成しないでください」という警告を表示します。
これは、より大きな関数のコード スニペットです。本質的には、ゲームの各プレイヤーがまだ「生きている」かどうか (ボード上に少なくとも 1 つの駒があるかどうか) をチェックしています。
この警告を削除する方法を確認できます。関数を個別に宣言して呼び出すだけです。しかし、これは非常に小さなワンショット関数であり、基本的にこれをネストされたループの本体と見なします (基本的に呼び出しを次のようfor
に読んでいます) 。.each()
for $("td") in $board {}
このJSLintはスタイル警告の1つを提供していますか?それとももっと深刻ですか?
基本的に、これを修正するのが最善ですか?
警告の理由を理解したいので、警告が存在する理由についてのコメントは役に立ちます(これも実用的かスタイルかを知りたいです)。
javascript - JSLint 混合スペースとタブ エラー
私はJSLintを介して以下を実行しました:
そして、このエラーが発生しています:
修正方法がよくわかりませんか?
javascript - JSLint「危険なキャラクター」
Mac OSXでDouglasCrockfordのJSLintを使用していて、コードはパスしましたが、Ubuntu Hardy Slicehostサーバーを取得してそこにコードをアップロードした後、サーバーで実行しようとするとJSLintがパスしなくなりました。ウムラウトを含むローカライズされたファイルでは失敗します。
次のようなエラーが発生します:
ファイルは変更されていません。MD5ハッシュを確認しましたが、どちらも同じです。デプロイメントスクリプトからJSLintを実行する方法は次のとおりです。
何か案は?何が違うのでしょうか?環境(env / set)を確認しましたが、文字セット/エンコーディングへの参照は「LC_CTYPE=UTF-8」のみでした。同じに設定してみましたが、効果がないようです。
jslint - JSLint : なぜこの警告が表示されるのですか?
JSLint がこの種の警告を生成する理由
行 xxx 文字 yyy の問題: 'X' は yyy ではなく xx にインデントがあると予想されます。
スペースのフォーマットが異なることがなぜ重要なのですか?
jslint - JSLint - コードのセクションを無視する
JSLint を渡す巨大なスクリプトがあります (すべての悪い部分の回避を含む)。1 つのストレッチを除きます。これは、より大きなコンテキスト内に埋め込まれている非常に複雑な難読化されたコードです。JSLint は、このセクションに対してかなりの苦情を生成します。そのコードのストレッチに対して、JSLint を選択的に無効にしたいと思います。私はすでにセレクティブを使用しています
構造体の解釈に反することを行うコードの特定の小さなストレッチに対する特定の警告を無効にするディレクティブ。
私が持っている難読化されたコードは、無効にできるかどうかわからない構造を使用しています。
例えば:
次のメッセージが表示されます。
確かに、コードをクリーンアップできることはわかっていますが、難読化ツールから出力されたものであり、難読化されたコードをクリーンアップする必要はありません。
では、ストレッチ オフ コードを完全に無視するように JSLint に指示する方法はありますか?
このクエリJSLint: control comments (selective ignore)は認識していますが、回答がありませんでした。
javascript - JSLintの警告「副作用に「新規」を使用しないでください」に対処するにはどうすればよいですか?
なぜこれらのエラーが発生するのですか?
行329の文字60の問題:副作用に「new」を使用しないでください。
new widget.StyledDropdown(dojo.byId("sTitle"));
330行目の文字61の問題:副作用に「new」を使用しないでください。
new widget.StyledDropdown(dojo.byId("sSuffix"));
336行目の57文字の問題:副作用に「new」を使用しないでください。
true,{shortenName : true,maxChars : 20});
行338の文字129の問題:副作用に「new」を使用しないでください。
new widget.StyledDropdown(dojo.byId("sCountry"),USPS.Address.countrySw...
javascript - JavaScript: JSLint throws "Read Only
My code:
note: the Slider Object is declared but omitted in the snippet below for better readability
This is what JSLint produces (and on the other two Objects SliderInstance and DomObjects)
How do I satisfy JSLint's requirements? What does "Read only." mean?
javascript - JSLint '===' を期待していましたが、代わりに '==' を見ました
最近、このエラーが発生したときに、JSLint を介してコードの一部を実行していました。私がこのエラーについておかしいと思うのは、すべての == が === であるべきだと自動的に想定することです。
それは本当に意味がありますか?型を比較したくないという例が多く見られましたが、これが実際に問題を引き起こす可能性があるのではないかと心配しています。
「期待される」という言葉は、これが毎回行われるべきであることを意味します.....それは私には意味がありません.
javascript - Web サイトを Internet Explorer 8 に対応させるための準備
Javascript が 10,000 行を超える大規模な Web アプリケーションの保守を引き継いだところです。
現時点では、Firefox 3.5 以降、Safari 4 以降、Chrome で動作しますが、IE8 で動作するようにする必要があります。
私は非常に経験豊富なプログラマーですが、JavaScript の経験はほとんどありません。
Javascript は多くのJQueryを使用します(そのため、大量の JQuery を使用できます)。
体系的に取り組みたいので、移植作業をどのように構成するかについてアドバイスを求めています。
一般的な方法論は、古い 'OpenBSD の一般化' 戦略です。クロスサイト バグが見つかった場合、コード ベースを体系的に検索して、それが発生する可能性のある他の場所を探し、それらを修正します。
BGerrison は、CSS の互換性も考慮する必要があると指摘したので、それも考慮に入れましょう。
これまでのところ、私が思いついた方法論は次のとおりです。
- jslint を実行し、 lintingバグを修正します
計画を立てる前に、体系化された手順や知っておくべきリソースはありますか?
アップデート
Opera 10 のコンソールが css を少しリントし、css のタイプミスなどを報告することを発見しました...