我正在重构旧的AngularJS 1.3项目。我注意到的一件事是,制作它的人开始使用AngularJS代码的每个文件:
(function () {
'use strict';
angular.module('app').factory('Employees', ['$http', function($http) {
// angular code removed
}]);
})();
在每个文件中使用function()'use strict'对代码有什么好处吗?对我而言,每个文件中都浪费了3行。是否有标准/最佳实践?
答案 0 :(得分:1)
如果您将'use strict';
放在IIFE之外,则可以将其设为全局。
这意味着您无法控制的代码(例如其他库)可能会导致问题。
就像变量范围一样,你只能在代码的上下文中使用'use strict'
,只需将它全部放在IIFE中
答案 1 :(得分:0)
使用use strict
可以帮助您防止闭包和变量范围出现问题。
例如,如果您不小心设置了全局变量 - 在这种情况下忘记在var
循环中添加for
关键字, {{1} 模式将捕获它并进行消毒。
use strict
(function(){
for (i = 0; i < 5; i++){
}
console.log(i);
})();
.as-console-wrapper { max-height: 100% !important; top: 0; }
(function(){
'use strict';
for (i = 0; i < 5; i++){
}
console.log(i);
})();