函数执行语句其实是去到函数体的地方执行函数,不是把函数体拿到执行函数语句的地方!作用域在函数定义时就已经确定了。而不是在函数调用时 var x = 10; function fn() { console.log(x); } function show(f) { var x = 20; f(); } show(fn); //输出10