es5下对象相关的属性和对象的处理方法
2015-07-31 14:54
288 查看
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)来将字符串解析为对象
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)来将字符串解析为对象
相关文章推荐
- 使用朴素贝叶斯算法,通过用户安装的APP列表来推测用户的性别
- LeetCode之Merge Two Sorted Lists
- Error creating bean with name 'empresasDAO': Injection of autowired dependencies failed up vote 0
- muduo::ThreadPoll分析
- Qt归纳(二)
- css命名规范
- Python with yield语句
- 两个css文件定义了同样的内容,后执行的会覆盖前面的
- JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度
- mysql进阶(十二)常见错误汇总
- 路由及路由器工作原理深入解析1:概述
- 滴滴打车创新盈利方式
- Android 文件读写操作 总结
- 2015多校联合训练第三场Painter(hdu5319)
- mysql进阶(十二)常见错误汇总
- mysql 批量删除数据
- 基于jQuery+HTML5页面整屏滑动切换代码
- [转]含有汉字,数字,字母,下划线的正则表达式
- 在Android系统中使用WebViewClient处理跳转URL的方法
- Request的RawUrl属性,和其它获取url信息的各种方法比较