function person(name) {
// 变量作用域为函数内部,外部无法访问,防止了变量名冲突和污染
var name = '小明';
return {
sayName: function () {
alert(name)
},
changeName: function (newName) {
name = newName
}
}
}
// 外部无法访问内部变量
console.log(person.name) // undefiend
console.log(person.changeName('小白'))
// 这里修改的name会保存下来
console.log(person.sayName()) // 小白
麻烦 F12 运行一下
js常见面试题之闭包什么是闭包 《JavaScript高级程序设计》这样描述: 闭包是指有权访问另一个函数作用域中的变量的函数; 最常见的闭包结构如下 如上代码,bbb函数内可以访问aaa函数作...