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函數作...