function foo(){ var x = 1; return function() { alert(x); } }; var bar = foo(); bar(); // 1 var x = 2 ; bar(); // 1
今晚看這段代碼時,一直理解錯誤,誤以為x會受全局的影響,當foo(),匿名函數 functon(){alert(x)} 中的x作用域指向的是foo,故在foo存在x的情況下,全局下的x便對其無法影響。