JavaScript没有私有变量这一说,所以实际在开发过程可能很容易就出现变量被破坏是常有的事
但我们可以通过闭包的方式来解决这个问题,如以下例子
var instance = (function(){
var private = {}
return {
setValue: function(key, val){
private[key] = val
},
getValue: function(key) {
return private[key]
}
}
})()
// Usage
instance.setValue('name', 'qttc')
var name = instance.getValue('name')
console.log(name) // Output: qttc
通过闭包方式声明了一个局部变量private
,通过暴露setValue
和getValue
来读取和修改私有变量private