对象

对象

一、对象:

1.实例化对象的方式:new Object()

var obj = {

   name:”张三”

}

  读取对象上的属性:obj.name||obj[“name”]

  动态的给对象添加属性obj.age||obj[“age”] = 值

  删除对象的属性:【关键字delete】

       delete obj.name

  注意:对象的属性也是一个对象,属性(name)默认情况下,name属性的四大属性分别是:value(属性的值),writable(是否可写入),enumerable(是否可枚举),configurable(是否可操作),四大属性除了value属性,其他三个默认为true

2.定义属性

1)定义单个属性

给对象定义属性,只定义一个值的情况下,其他三个属性的默认值为false

      Object.defineProperty(obj,”name”,{

                value:”张三”,

                writable:true,

                enumerable:true,

                configurable:true

})

2)定义多个属性

  Object.defineProperties(obj,{

            age:{

                   value:100,

                            writable:true,

                         enumerable:true,

                      configurable:true

}

Name:{

       value:”张三丰”

}

})

3.取值器-复制器

       var vart = {

              _wheel:4,

              get wheels(){

                     return this._wheel;

},

set wheels(value){

       if(value < this._wheel){

              throw new Error(“值太小”)

}

this._theel = value;

}

}

4.冻结对象:

       1)冻结单层对象

              Object.freeze();

       2)封装深度冻结的函数

              function deepFreeze(obj){

                     obj = Object.freeze(obj);

                     for(let property in obj){

                            if(Object.prototype.toString.call(obj[property]) == “[object Object]”){

       deepFreeze(obj[property]);

}

}

return obj;

}

deepFreeze(obj)

5.获取对象所有可枚举属性:Object.keys(对象)

 获取对象所有属性的描述器:Object.getOwnPropertyDescriptors(对象)

 获取对象单个属性的描述器:Object.getOwnPropertyDescriptor(对象,属性);

 获取对象中所有的属性: Object.getOwnPropertyNames(对象)

 判断一个对象上是否有该属性:*.prototype.hasOwnProperty(“属性名”)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值