未知的JSLint错误

Aid*_*ido 1 javascript jslint

我从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);
}?
Run Code Online (Sandbox Code Playgroud)

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

使用异常:"每个函数有很多var语句"和"凌乱的空格"

Jam*_*ice 13

' document'在定义之前使用过

你得到这个是因为document没有声明变量.您可以告诉JSLint它应该假设代码将在浏览器中运行,因此假定类似documentwindow预先定义的东西.您可以使用文件顶部的JSLint注释来执行此操作:

/*jslint browser: true */
Run Code Online (Sandbox Code Playgroud)

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

由于您知道属性的名称,因此无需使用方括号表示法:

document.forms.form.submit();
Run Code Online (Sandbox Code Playgroud)

' alert'在定义之前使用过

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

/*jslint browser: true, devel: true */
Run Code Online (Sandbox Code Playgroud)

意外 '?'

关闭括号后有一些看不见的字符.只需删除该字符即可删除此错误.