如果我在JS中使用或不使用“严格”模式,有什么问题吗?

时间:2016-05-08 23:12:05

标签: javascript

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

  

“严格”:真实

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

'use strict';

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

我现在收到一个新错误

  

公共/ app.js     第1行第1列使用“use strict”的函数形式。

所以我做了:

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

  'use strict';

   return { . . . }

});

错误消失了。

那么,如果我不使用严格模式,这里有什么区别和错误?

1 个答案:

答案 0 :(得分:3)

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

使用

  

严格:'全球'

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

  

strict:false

如果你不想让lint代码要求严格的模式。

strict option reference for JSHint