JS中对象的有关方法

1.1 Object.defineProperty 

   这个方法接收3个参数,属性所在对象,属性名字,描述符对象。描述符对象包含4种类:configurable,enumerable,writable,value。尤其注意configurable属性如果改为false后再代码后面再次改动会抛出错误。

 

var person ={}
Object.defineProperty{Person,"name",{
    writable:false,
    value:"frose"
});
alert(Person.name) //"frose"    

 1.2 Object.defineProperties

   如1.1类似,该方法可一次定义多个属性。接收2个对象参数,其一是要添加和修改属性的对象,其二与第一个对象中要添加/修改的属性一一对应。定义一个book对象,包含2个数据属性(_year,edition)

和一个访问器属性(year)。访问器只能通过对象方法访问。(get/set)

var book={}

Object.defineProperties(book,{
    _year:{
        writable:true,
        value:2019),

    edition:{
        writable:true,
        value:1),
    
    year:{
        get:function(){
            return this._year;
},
     set:function(newValue){
        if(newValue >2019 ){
            this._year=newValue;
            this.edition= newValue-2019;
        }
    }
}
});

上一篇:vue3中的watch函数


下一篇:前端实现二级联动