方法一:
let Girl = (function() {
var _weight = 0
function P(name, weight) {
this.name = name
_weight = weight
}
P.prototype.getWeight = function() {
return _weight
}
return P
})()
let girl = new Girl('zizi', 49)
console.log(girl)
console.log(girl.getWeight())
利用閉包特性衔蹲,以及原型模式來實(shí)現(xiàn)录语。
方法二
let Girl = (function() {
var n = Symbol('weight')
function P(name, weight) {
this.name = name
this[n] = weight
}
P.prototype.getWeight = function() {
return this[n]
}
return P
})()
console.log(girl)
console.log(girl.getWeight())
利用symbol的特性癞尚,來生成一個(gè)受保護(hù)的key。從而實(shí)現(xiàn)屬性私有化惋耙。