javascript - javascript 中的 JSHint W030 消息很奇怪

标签 javascript gulp-jshint

我用了这个答案https://stackoverflow.com/a/5224638/7346441检查外部网站是否在线。而且效果很好。

但是当我运行 JShint 时,我在第 5 行和第 8 行收到 W030 消息:

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

出了什么问题?

最佳答案

JSHint 不喜欢像

这样的表达式语句
    ifOnline && ifOnline.constructor === Function && ifOnline();

如果你想让事情变得快乐,你可以将其更改为

  if (ifOnline && ifOnline.constructor === Function) {
    ifOnline();
  }

关于javascript - javascript 中的 JSHint W030 消息很奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41348398/

相关文章:

javascript - 使用 $scope AngularJS 仅显示数组中的最新值

javascript - 为什么属性名称中的引号会引发错误?

javascript - 从 Javascript 中的数组值生成有效输出

javascript - 为什么大于 15 位的数字在 javascript 中会自动四舍五入?

javascript - 使用ripple时PhoneGap错误

javascript - 检查项目 Package::JSHINT 中的所有 JS 文件