-3
函数 setupSomeGlobals() {
  // 在闭包中结束的局部变量
  变量编号 = 666;
  // 将一些函数引用存储为全局变量
  var gAlertNumber = function() { console.log(num); }
}

setupSomeGlobals();

gAlertNumber(); //有效,为什么?!!

控制台.log(num); //不工作,好

我预计 gAlertNumber() 不能在 setupSomeGlobals() 函数之外工作......

4

1 回答 1

4

var声明的变量总是本地的,不能从外部访问。

如果您在控制台中运行它,您很可能已经通过较早的尝试污染了全局命名空间。打开一个新选项卡并再次运行代码。

于 2012-11-27T06:07:16.657 回答