函数在定义它的作用域中执行,而不是在调用它的作用域中执行:
var x = 1,y=2 ,z=0; function f(){ z=x+y; console.log(z) } (function(){ var x=3,y=4; f(); })();输出:3
词法作用域
原文:http://www.cnblogs.com/sugar-tomato/p/4469928.html