JShintはjQueryの場合は「引数の種類はパラメータと一致しません」と表示されます(これは
-
21-12-2019 - |
質問
それはすべてタイトルの中にあります。
jQuery(Document)で起こります。
コードの何が問題なのかわかりません。
これは抜粋です:
var checkboxes = jQuery('.js-selected-items', self.$el);
checkboxes.each(
function (i) {
if (!jQuery(this).is(':disabled')) {
jQuery(this).prop('checked', true);
}
}
);
...
.
jQuery(この)のすべての出現に警告が表示されます。
コードはもちろん機能しますが、すべてのJShint警告を取り除きたいのですが。
解決
コンストラクタ関数の外部でthis
を使用できるようにするためにJShint用のフラグを設定する必要があります。
checkboxes.each(function() {
/* jshint validthis: true */
jQuery(this)...
});
.
validthis
設定オプション:
このオプション(
validthis
)コードが厳密モードで実行されているときに厳密な違反が可能で、これを非コンストラクタ関数で使用することを抑制します。このオプションを使用する必要があります。このオプションは、このオプションのみを使用する必要があります。注:このオプションは関数スコープの内部にのみ使用できます。このオプションをグローバルに設定しようとすると、JShintはエラーで失敗します。
jQuery#each
は、Function#call
を使用して、Loop内の現在の要素をその関数の最初の引数として渡し、この状況でJShintのvalidthis
フラグを使用します。
他のヒント
$.each()
の機能のパラメータは次のとおりです。
Type: Function( Integer index, Element element )
.
では、element
の代わりにthis
を使用すると、JShint、またはPhpStort Inspinessが私の場合でも満たされます。
checkboxes.each(function (i, elm) {
if (!$(elm).is(':disabled')) {
$(elm).prop('checked', true);
}
});
. 所属していません StackOverflow