js中对象中属性有时候可以看到get和set前缀,它们有什么用?
get其实就是对象的属性值的返回值的方法,那么set就是属性值的修改方法。
一般对象内部的私有属性命名都会加上前缀“_”,如”_name”
var obj = {
_price: 10,
get price() { return this._price },
set price(val) { this._price = val }
}
// obj.price = 10
// obj.price = 20;obj._price = 20
对于set函数可以根据实际情况来判断值的处理方式。