2

誰かが私にこれについてアドバイスを与えることができますか?jslintを使い始めたところ、「dialog(this)」の行を指す「strictviolation」というエラーメッセージが表示されました-

function accessLinkClick(e) {
    e.preventDefault();
    $('.accessLink')
    .unbind('click', accessLinkClick);
    dialog(this);
}

function accessControls() {
    $('.accessLink')
        .bind('click', accessLinkClick);
    $('#logoutLink')
        .click(function (e) {
            window.location = $(this).attr('data-href');
        });
}

私はこれまでこのメッセージを見たことがありません。どういう意味ですか?

4

1 に答える 1

0

仕様の付録 C では、次のように説明されています。

thisが厳密モード コード内で評価される場合、この値は object に強制されません。またはのthis値はグローバル オブジェクトに変換されず、プリミティブ値はラッパー オブジェクトに変換されません。関数呼び出し (Function.prototype.apply および Function.prototype.call を使用して行われた呼び出しを含む) を介して渡された値は、渡された値をオブジェクトに強制しません( 10.4.3、11.1.1、15.3.4.3、15.3.4.4)。 .nullundefinedthisthis

前述のコードのe.target代わりに使用します。this

参考文献

于 2016-02-19T07:59:39.330 に答える