一个简单的
Javascript问题,例如我有一个这样的Angular app.js;
'use strict'; var eventsApp = angular.module('eventsApp',[]);
我读到在Javascript文件的开头使用“use strict”使得该文件中的所有var都以严格的模式被对待,这意味着当你使用全局变量(?)时会抛出一个错误,但是我们如何访问来自我们所有控制器和服务的“eventApp”对象,如果不在全局范围内?
解决方法
错误的假设是在严格模式下,不允许所有全局变量.实际上只有未定义的全局变量会引发错误. (实际上你根本不能做任何事情,如果你不能使用任何全局变量,必须至少有一些在全球范围内.)
例如:
"use strict"; var a = "foo"; var b; (function() { a = "bar"; // this is ok,initialized earlier b = "baz"; // this is also ok,defined earlier c = "qux"; // this is not,creating an implicit global })();
使用变量a或b不是问题,但c会抛出错误.在您的示例中使用eventApp变量应该没有问题.