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();
}