【问题标题】:Unknown JSLint Errors未知的 JSLint 错误
【发布时间】:2012-07-14 07:47:35
【问题描述】:

我从 JSLint 收到以下错误,但我无法理解:

-所有问题都已回答-

对这些有任何帮助吗?

use /*jslint browser: true, devel: true */
function submit() {
    "use strict";
    document.forms.form.submit();
    var Mathematics = document.personal.Mathematics;
    var OMathematics = document.personal.OMathematics;
    var Sci = document.personal.Sci;
    var OSci = document.personal.OSci;
    var ELA = document.personal.ELA;
    var OELA = document.personal.OELA;
    var SS = document.personal.SS;
    var OSS = document.personal.OSS;
    var Elec1 = document.personal.Elec1;
    var OElec1 = document.personal.OElec1;
    var Elec2 = document.personal.Elec2;
    var OElec2 = document.personal.OElec2;
    var Elec3 = document.personal.Elec3;
    var OElec3 = document.personal.OElec3;
    var Owed = 0;
    function calc(n, o) {
        if (n >= 90) {
            Owed = Owed + 1;
            if (n >= 95) {
                Owed = Owed + 1;
            }
        }
        else if (o >= 80) {
            Owed = Owed + 0.5;
        }
        if (n > o) {
            Owed = Owed + 0.5;
        }
        if (n < o) {
            if (n > 95) {
                Owed = Owed - 0.25;
            }
        }
    }
    calc(Mathematics, OMathematics);
    calc(Sci, OSci);
    calc(ELA, OELA);
    calc(SS, OSS);
    calc(Elec1, Elec1);
    calc(Elec2, Elec2);
    calc(Elec3, Elec3);
    alert(Owed);
}​

这是上下文中的代码:http://jsfiddle.net/Aidoboy/AdzwC/

使用的异常:“每个函数有许多 var 语句”和“混乱的空白”

【问题讨论】:

标签: javascript jslint


【解决方案1】:

'document'在定义之前被使用

你得到这个是因为 document 变量没有被声明。您可以告诉 JSLint,它应该假定代码将在浏览器中运行,因此假定 documentwindow 之类的东西是预定义的。您可以在文件顶部添加 JSLint 注释:

/*jslint browser: true */

['form'] 最好用点符号写

既然知道属性名,就不用方括号表示法了:

document.forms.form.submit();

'alert'在定义之前被使用

您可以使用devel 选项来防止此错误(例如,您也可以使用它来允许console.log 调用):

/*jslint browser: true, devel: true */

意外'​'

右大括号后面有一些不可见的字符。只需删除该字符即可消除此错误。

【讨论】:

  • 使用/*jslint browser: true, devel: true */ - 不确定我对上述答案的编辑是否会通过
  • @olore - 感谢您的编辑。我只是稍微修改了一下,将其添加到 alert 错误部分,而不是 document 错误部分。
  • 耶!有用!现在我认为我的html有问题。 :P
  • 对于这个问题的新访问者,我在jslinterrors.com 整理了一系列详细的 JSLint 错误消息说明。尝试在那里搜索以找到错误的解决方案。
【解决方案2】:

添加此项以避免警报定义错误:

/*jslint devel: true */

“alert” is not defined when running www.jshint.com - Stack Overflow

以及关于开发选项的以下内容:

此选项定义通常用于日志记录的全局变量 穷人的调试:console、alert等。通常是个好主意 不要在生产中运送它们,例如,console.log 旧版 Internet Explorer 中断。

【讨论】:

    猜你喜欢
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    • 2011-07-10
    相关资源
    最近更新 更多