Dreamweaver CC中的奇怪Javascript验证

时间:2015-07-04 14:15:05

标签: javascript validation dreamweaver jslint jshint

我安装了Dreamweaver CC 2015,发现我的JavaScript文件中存在MYRIAD错误。 我在导入的JavaScript库中也有MYRIAD错误,包括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;
    });
};

所以我的选择是:

  1. Ditch Dreamweaver并使用另一个IDE(最糟糕的是,因为它完全适用于我的目的 - 我是我项目中唯一的HTML / CSS / JS / PHP / MySQL开发人员。
  2. 修复Dreamweaver想要的所有错误,因为它有一个好点。那请解释原因?我可以将“==”更改为“===”,在变量声明之前添加“var”,而不是在“if”之后使用“return”而不使用花括号,但“使用严格”的东西困扰我。
  3. 调整JavaScript验证,因此只显示严重错误 - 对我来说是最好的选择 - 但我不知道如何做到这一点?
  4. 最好的选择是什么? 非常感谢任何帮助。

2 个答案:

答案 0 :(得分:11)

这是我想出来的。

问题是我不知道用于验证javascript的JSHint和JSLint解决方案。 JSHint已集成到Dreamweaver CC中,并且只要您知道该怎么做,就可以轻松配置。

通常是JSHint has three ways to tweak it,但它们在Dreamweaver环境中不起作用。

你应该做的是:

  • 从顶部菜单中选择编辑 - &gt;首选项(Dreamweaver - &gt; Mac上的首选项)
  • 从侧边菜单中选择“Linting”。
  • 选择“JS”并单击“编辑并保存更改”。
  • 文件JS.jshintrc将在Dreamweaver中打开。
  • 像往常一样编辑文件(see JSHint options)并保存。

在我的具体案例中,我改变了这一点:

"strict":false,
"undef":false,
"unused":false

...这意味着我不必在任何地方放置“use strict”,并且可能会在不同的文件中留下变量的定义和用法。是的,我不使用包装函数并使用大量的全局变量。是的,我知道这很糟糕,但重构这不是我日程安排中的最高优先级。

当然,我会将所有这三个选项更改为“true”并重构所有JS文件,以便在时机成熟时遵守标准。

答案 1 :(得分:0)

关闭&#34; undef&#34; check是一个大锤,因为JSHint将忽略所有变量和函数名称拼写错误。你不会在运行时找到拼写错误,这很烦人,浪费时间。

而不是禁用&#34; undef&#34;完全消息,我一直在我的.js文件顶部附近使用 JSHint Inline Directives 。例如:

/* globals myGlobalVar, myGlobalFunction */
var myLocalVar = myGlobalVar;
myGlobalFunction();

使用文件中的globals指令,JSHint不会将myGlobalVarmyGlobalFunction()标记为未定义的错误。使用&#34;全局&#34;内联指令还有一个额外的好处,就是记录.js文件之间的依赖关系。

在这里阅读JSHint内联指令:

http://jshint.com/docs/#inline-configuration