如果我在JS中使用或不使用“use strict”模式,是否有问题?

Rea*_*ing 3 javascript

我正在处理 Gulp 文件,我刚刚设置了 JSHint,我在.jshintrc文件中看到了这个选项:

“严格”:正确

然后我去了我的文件,我把它放在最开始的位置:

'use strict';

angular.module('MyApp', ['ngRoute'])
  .config(function($locationProvider, $routeProvider) {. . .});
Run Code Online (Sandbox Code Playgroud)

我现在收到一个新错误

public/app.js line 1 col 1 使用“use strict”的函数形式。

所以我做了:

angular.module('MyApp', ['ngRoute'])
  .config(function($locationProvider, $routeProvider) {

  'use strict';

   return { . . . }

});
Run Code Online (Sandbox Code Playgroud)

错误就消失了。

那么,这里有什么区别,如果我不使用严格模式会有什么问题呢?

jdp*_*nix 5

默认情况下,当设置为 true 时,JSHint 不允许您'use strict';在全局范围内使用,因为它会干扰未考虑到严格模式而设计的 Javascript 库和遗留代码。

使用

严格:“全球”

如果你想能够做到这一点。

或者

严格:假

如果您不想将代码检查为需要严格模式。


JSHint 的严格选项参考