es5下对象相关的属性和对象的处理方法

来源:互联网 发布:淘宝一分钱虚拟商品 编辑:程序博客网 时间:2024/05/29 15:35

1.新建对象:

new、自面量、构造函数实例

Object.create(Object.prototype)

2.删除对象属性:

delete o.x

3.检测对象属性是否存在:

(1)in

“x” in obj       //返回布尔值

4.枚举属性

(1)for in   

遍历对象中可枚举的属性。除开对象内置的继承属性,其余的自身属性或者来自原型对象上的继承属性都可以被枚举出来

(2)Object.keys(obj)

返回数组,每一项式obj中可枚举自身属性的属性,不包含继承

(3)Object.getOwnPropertyNames(obj)

返回数组,包含所有的自身属性

5.存取器属性set、get

由set和get定义的都是函数(无function关键字)

6.属性特性:

(1)存取性属性特性:get、社团、enumerable、configurable

(2)一般属性特性:value、writable、enumerable、configurable

可通过Object.getOwnPropertyDescriptor()来检测属性特性的值

可通过Object.defineProperty()来设置对象属性的特性

Object.defineProperty(obj,"x",{writable:false})


7.属性类型:

(1)原型属性:

可以通过Object.getPrototypeOf(obj)来获取对象的原型

也可以通过obj.constructor.prototype来检测对象的原型

可以用过obj2.isPrototypeOf(obj1)来检测obj2是不是obj1的原型

(2)类属性

(2)可扩展性

内置对象和自定义对象都是可扩展的

可以通过Object.esExtensible(obj)来检测对象是否是可扩展的

通过Object.preventExtensions(obj)、Object.seal(obj)、Object.freeze(obj)来将对象设置为不可扩展的


8.对象序列化

通过JSON.stringify(obj)来将对象转化为字符串

通过JSON.parse(obj)来将字符串解析为对象




0 0
原创粉丝点击