作用域分为词法作用域和动态作用域;
而js采用的是词法作用域,即在函数定义的时候已经确定了它运行的作用域,函数运行在原始定义的作用域内
而不是它的执行作用域内
例如
var value = 1;
function aa(){
var value = 2
bb()
}
function bb(){
console.log(value)
//此时输出值为1
}
可以看出函数在定义时就已经确定使用的变量,而无关乎在哪个作用域执行的。(原型链)
作用域分为词法作用域和动态作用域;
而js采用的是词法作用域,即在函数定义的时候已经确定了它运行的作用域,函数运行在原始定义的作用域内
而不是它的执行作用域内
例如
var value = 1;
function aa(){
var value = 2
bb()
}
function bb(){
console.log(value)
//此时输出值为1
}
可以看出函数在定义时就已经确定使用的变量,而无关乎在哪个作用域执行的。(原型链)
600

被折叠的 条评论
为什么被折叠?