dreamweaver CC中奇怪的Javascript验证

dreamweaver CC中奇怪的Javascript验证,javascript,validation,dreamweaver,jslint,jshint,Javascript,Validation,Dreamweaver,Jslint,Jshint,我安装了Dreamweaver CC 2015,发现我的工作JavaScript文件中有无数错误。 此外,我在导入的JavaScript库(包括jQuery)中也有无数错误 最重要的“错误”是每个工作功能开始时的错误: Missing "use strict" statement. 它在没有“严格使用”的情况下运行得很好,我甚至从未在任何地方看到过这种说法 另一个奇怪的是: Extending prototype of native object: 'Array'. 以下是引发警告的代码:

我安装了Dreamweaver CC 2015,发现我的工作JavaScript文件中有无数错误。 此外,我在导入的JavaScript库(包括jQuery)中也有无数错误

最重要的“错误”是每个工作功能开始时的错误:

Missing "use strict" statement.
它在没有“严格使用”的情况下运行得很好,我甚至从未在任何地方看到过这种说法

另一个奇怪的是:

Extending prototype of native object: 'Array'.
以下是引发警告的代码:

Array.prototype.sortOn = function(key){
    this.sort(function(a, b){
        if(a[key] < b[key]){
            return -1;
        }else if(a[key] > b[key]){
            return 1;
        }
        return 0;
    });
};
Array.prototype.sortOn=函数(键){
this.sort(函数(a,b){
如果(a[键]b[键])为else{
返回1;
}
返回0;
});
};
因此,我的选择是:

  • 抛弃Dreamweaver,使用另一个IDE(最糟糕的,因为它对我来说工作得非常好——我是项目中唯一的HTML/CSS/JS/PHP/MySQL开发人员
  • 像Dreamweaver希望的那样修复所有错误,因为它有一个很好的观点。然后请解释为什么?我同意将“==”更改为“==”,在变量声明之前添加“var”,在“if”之后不使用“return”而不使用花括号,但“use strict”这件事让我很困扰
  • 调整JavaScript验证,这样只显示关键错误-对我来说是最好的选择-但我不知道如何做
  • 最好的选择是什么?
    非常感谢您的帮助。

    以下是我的想法

    问题是,我不知道用于验证javascript的JSHint和JSLint解决方案。JSHint集成到Dreamweaver CC中,并且很容易配置,前提是您知道要做什么

    通常是JSHint,但它们在Dreamweaver环境中不工作

    你应该做的是:

    • 从顶部菜单中选择编辑->首选项(Mac上的Dreamweaver->首选项)
    • 从侧边菜单中选择“Linting”
    • 选择“JS”并单击“编辑并保存更改”
    • 文件
      JS.jshintrc
      将在Dreamweaver中打开
    • 像平常一样编辑文件()并保存
    在我的具体案例中,我改变了这一点:

    "strict":false,
    "undef":false,
    "unused":false
    
    …这意味着我不必到处使用“use strict”,可能会在不同的文件中留下变量的定义和用法。是的,我不使用包装函数,也不使用大量全局变量。是的,我知道这很糟糕,但重构这并不是我日程安排中的最高优先级

    当然,到时候我会将这三个选项都改为“true”,并重构我的所有JS文件以符合标准。

    关闭“undef”检查是一个沉重的打击,因为JSHint将忽略所有变量和函数名的输入错误。只有在运行时才能找到输入错误,这既烦人又浪费时间

    我没有完全禁用“unde”消息,而是在.js文件顶部附近使用了JSHint内联指令

    /* globals myGlobalVar, myGlobalFunction */
    var myLocalVar = myGlobalVar;
    myGlobalFunction();
    
    使用文件中的globals指令,JSHint不会将
    myGlobalVar
    myGlobalFunction()
    标记为未定义的错误。使用“globals”内联指令还可以记录.js文件之间的依赖关系

    在此处阅读有关JSHint内联指令的信息:


    谢谢。这个问题对jQuery来说不是很好,如何对预期的这个
    ===
    进行验证看到了
    ==
    thisAkash Kumar,只需将“eqnull”:false更改为“eqnull”:true
    ==
    提示实际上与
    eqeq
    设置相关。