关于JavaScript闭包的粗浅理解
程序员文章站
2023-08-28 23:44:41
在JavaScript中,使用var创建变量,会创建全局变量或局部变量。 只有在非函数内创建的变量,才是全局变量,该变量可以在任何地方被读取。 而在函数内创建变量时,只有在函数内部才可读取。在函数外部时,调用函数也无法读取局部变量。 function test(){ var g = 5; } // ......
在javascript中,使用var创建变量,会创建全局变量或局部变量。
只有在非函数内创建的变量,才是全局变量,该变量可以在任何地方被读取。
而在函数内创建变量时,只有在函数内部才可读取。在函数外部时,调用函数也无法读取局部变量。
function test(){
var g = 5;
}
// 提示无法读取未定义属性
console.log(test().g);
var c = new test();
// 出现一个没有属性的test对象
console.log(c);
// undefined
console.log(c.g);
如果需要在函数外部访问局部变量,则需要使用return关键词。
function test(){ var g = 5; return g; } // 5 console.log(test());
上一篇: 雷军:我们正全力以赴提升小米9产能 绝对没有饥饿营销
下一篇: 怎么也起不来啊!