nodejs中变量寻找作用域的机制
摘要:nodejs中变量寻找作用域的机制
nodejs中变量寻找作用域,先寻找局部变量作用域,在寻找顶层变量作用域,最后在寻找global全局作用域。
(1)如果变量先被指定作用域
var a="module";
global.a="global";
function alpha() {
console.log(this.a);//这里的this.a指定输出global全局作用域的a属性,所以输出global。
}
alpha();
console.log(a);
输出结果:
global
module
(2)如果没指定变量作用域
例一:
var a="module";
global.a="global";
function alpha() {
console.log(a);//先从局部变量域寻找,局部变量作用域没有,然后寻找顶层变量作用域,找到了a="module"
}
alpha();
console.log(a);
输出结果:
module
module
例二:
global.a="global";
function alpha() {
console.log(a);//先从局部变量域寻找,局部变量作用域没有,然后寻找顶层变量作用域,然后寻找global全局作用域,发现a="global"
}
alpha();
console.log(a);
输出结果:
global
global
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。