【发布时间】:2023-11-09 23:32:01
【问题描述】:
我似乎在使用 SublimeLinter-jshint 时遇到了问题,我在 JSLint 文档中找不到我想要的东西。起初,我认为这是 "Missing semicolon" 的问题(在左大括号之后),但当我试图忽略这个问题并继续编码时,越来越多的其他错误不断出现起来。
我目前正在学习 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>
补充一点,浏览器中的一切都加载得很好,所以我很确定这些是错误的警告。
【问题讨论】:
-
是在抱怨
document.write吗?您应该阅读有关 DOM 操作的现代方法。 -
它是,直到我压制它。它目前正在抱怨 缺少分号(例如,它声称应该在函数 Mammal(name) 之后),期待一个赋值或函数调用,而是看到一个表达式, 创建全局“for”变量。应该是 'for (var varprop...'
标签: javascript sublimetext3 jslint jshint sublimelinter