JSHint W030 сообщение в JavaScript странно

Я использовал этот ответ /questions/42982679/javascript-proverit-podklyuchen-li-server-k-seti/42982688#42982688 чтобы проверить, подключен ли внешний сайт к сети или нет. И это работает просто отлично.

Но когда я запускаю JShint, я получаю сообщение W030 в строках 5 и 8:

function ifServerOnline(ifOnline, ifOffline) {
    if ($('span#OfflineCheckClass').length > 0 && $('span#OfflineCheckerURL').length > 0) {

        var img = document.body.appendChild(document.createElement('img'));
        img.onload = function () {
            ifOnline && ifOnline.constructor === Function && ifOnline();
        };
        img.onerror = function () {
            ifOffline && ifOffline.constructor === Function && ifOffline(); 
        };
        img.src = $('#OfflineCheckerURL')[0].innerHTML;
    }
}

и функция:

ifServerOnline(function () {
    // just continue
},
function () {
    var offlineMessageClass = $('#OfflineCheckClass')[0].innerHTML;
    var offlineTekst = document.getElementsByClassName(offlineMessageClass);
    offlineTekst[0].innerHTML = $('span#OfflineCheckerTekst')[0].innerHTML;
});

Что случилось?

1 ответ

JSHint не любит выражения выражения, такие как

    ifOnline && ifOnline.constructor === Function && ifOnline();

Если вы хотите сделать вещь счастливой, вы можете изменить это на

  if (ifOnline && ifOnline.constructor === Function) {
    ifOnline();
  }
Другие вопросы по тегам