【发布时间】:2016-11-07 07:53:53
【问题描述】:
为什么ss()有不同的答案,函数不是在它定义的地方执行吗?
var scope="global";
function t(){
console.log(scope);
function ss()
{
console.log(scope);
}
var scope="local";
ss();
}
t();
ss();
它记录:
undefined
local
undefined
【问题讨论】:
-
这样做:
var scope="global"; function t() { console.log(scope); function ss() { console.log(scope); } scope="local"; ss(); return null; } t();因为作用域被定义为一个全局变量,你不能在一个函数中重复初始化同一个变量。你只能改变它的值!
标签: javascript scope