JavaScript严格模式下的全局变量

前端之家收集整理的这篇文章主要介绍了JavaScript严格模式下的全局变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一个简单的 Javascript问题,例如我有一个这样的Angular app.js;
'use strict';

 var eventsApp = angular.module('eventsApp',[]);
@H_502_4@我读到在Javascript文件的开头使用“use strict”使得该文件中的所有var都以严格的模式被对待,这意味着当你使用全局变量(?)时会抛出一个错误,但是我们如何访问来自我们所有控制器和服务的“eventApp”对象,如果不在全局范围内?

解决方法

错误的假设是在严格模式下,不允许所有全局变量.实际上只有未定义的全局变量会引发错误. (实际上你根本不能做任何事情,如果你不能使用任何全局变量,必须至少有一些在全球范围内.) @H_502_4@例如:

"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
})();
@H_502_4@使用变量a或b不是问题,但c会抛出错误.在您的示例中使用eventApp变量应该没有问题.

猜你在找的JavaScript相关文章