关于JavaScript闭包的粗浅理解

 在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());

猜你喜欢

转载自www.cnblogs.com/breezyNone/p/10460071.html