javascript - SublimeLinter-jshint : Errors when script in <body> tags

标签 javascript sublimetext3 jslint jshint sublimelinter

我似乎在使用 SublimeLinter-jshint 时遇到了问题,我在 JSLint 文档中找不到我要找的东西。起初,我认为这是一个问题,特别是 “缺少分号”(在左大括号之后),但是当我试图忽略这个问题并继续编码时,越来越多的其他错误不断出现上。

我目前正在学习 JS 教程,并且我的所有脚本都是内联的。我确实注意到,当我将所有 JavaScript 移动到 HTML 文件头部的脚本中时,所有警告都消失了(我通过故意破坏一些代码来测试它,看它是否仍在工作,一切都很好).

我做错了什么?

<!DOCTYPE HTML>
<html lang="en">
<head> 
    <title>Object Oriented JS</title>
    <script type="text/javascript">
        /*jslint evil: true */

        function Person(name, street){
            this.name = name;
            this.street = street;
            this.info = function(){
                return "My name is " + this.name + " and I live on " + this.street;
            };
        }

    </script>
</head>
<body>
<script type="text/javascript"> 

function Mammal(name){
    this.name = name;
    this.getInfo = function(){
        return "The mammals name is " + this.name;
    };
}

Mammal.prototype.sound = "Grrr";

Mammal.prototype.makeSound = function() {
    return this.name + " says " + this.sound;
};

var grover = new Mammal("Grover");

document.write(grover.makeSound() + "<br />");

for(var prop in grover){
    document.write(prop + " : " + grover[prop] + "<br />");
}


</script>   
</body>
</html>

补充一下,所有内容都在浏览器中加载得非常好,所以我很确定这些是错误警告。

最佳答案

我能够通过 jshint 的 --extract 参数克服这个问题,该参数在 .jshintrc 文件中尚不支持。我将以下行添加到我的 SublimeLinter.sublime-settings 并为我修复了它:

"linters": {
    "jshint": {"args": ["--extract=always"]}
}

引用:

关于javascript - SublimeLinter-jshint : Errors when script in <body> tags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44359459/

相关文章:

javascript - 无法使用 javascript 或 jquery 获取开关状态

javascript - 如何从 Asp.Net MVC Razor 将值设置为 HTML5 日期字段?

javascript - 并排对齐图像和文本并将文本最大高度设置为 img hieght

find - Sublime Text : How to jump to file from Find Results using keyboard?

gulp - 使用 Gulp Jshint 显示错误总数

javascript - JSLint 语法逗号或分号

javascript - 如何循环遍历从不同索引开始的数组,同时仍然遍历整个数组?

css - 为 CSS 选择器创建 Sublime Text 3 片段

python - Sublime text 和 Linux-KDE。系统区域设置设置为无法处理非 ASCII 字符的值

plugins - 带有 JSLint 和 Violations 插件的 Jenkins