匿名函数的作用域


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便对其无法影响。

 

posted @ 2016-03-04 00:32  marunzhou  阅读(677)  评论(2编辑  收藏  举报