在antdv的源码中看到这种写法了,第一个入参是一个下划线,第二个入参是两个下划线,应该只是入参命名而已,可能就是因为函数内不会用到,才特意用这种命名。
就题主这个filter第一个入参必定是数组的值,第二个参数才是数组的index,但方法里只要用index,就给第一个命名为下划线了。
Object.defineProperty(book,"year",{get:function(){
return this._year
},
set:function(newValue){
if(newValue>2004){
this._year = newValue
this.edition += newValue - 2004
}
}
})
注意看这个方法 defineProperty 是给book添加一个year的属性
这个属性获取值的方法是 get 设置值的方法是set 和上面的_year无关
那么book 就有了year 和_year2个属性的