function setupSomeGlobals() { // Local variable that ends up within closure var num = 666; // Store some references to functions as global variables var gAlertNumber = function() { console.log(num); } } setupSomeGlobals(); gAlertNumber(); //works, WHY?!! console.log(num); //does not work, GOOD
我希望gAlertNumber()不能在setupSomeGlobals()函数之外工作......
答案 0 :(得分:4)
使用var
声明的变量始终将是本地的,并且无法从外部访问。
如果在控制台中运行此命令,则更有可能通过早期尝试污染了全局命名空间。打开一个新选项卡并再次运行代码。