【笔记】 《js权威指南》- 第6章 对象 - 6.7 属性的特性 (ECMAScript5)
来源:互联网 发布:蜂窝移动网络搜索 威锋 编辑:程序博客网 时间:2024/05/22 23:30
1.属性的4特性:通过Object.getOwnPropertyDescriptor访问该属性的特性描述
(1).普通数据属性:
//返回{value: 1, writable: true, enumerable: true, configurable: true}Object.getOwnPropertyDescriptor({x: 1}, "x");
(2). getter setter:
//返回{get: func, set: func, enumerable: true, configurable: true}Object.getOwnPropertyDescriptor({x: 1, set a(){}, get a(){}}, "a");
(3).对于继承和不存在的属性返回undefined。
2.修改自有属性的特性:
Object.defineProperty(o, { value: 1,writable: true,enumerable: false,configurable: true});
(1).对于writable为false的属性可以通过定义value来修改值;
(2).将属性修改为getter setter
Object.defineProperty()(o, "x", {get: function(){return 0;}});
(3).定义多个属性的特性:
Object.defineProperties({}, { x: {value: 1, writable: true}, r: {get: function() {return 0;}}});
3.改良extend工具方法复制属性的特性:
Object.defineProperty(Object.prototype, "extend", { writable: true, enumerable: false, configurable: true, value: function(o) { var names = Object.getOwnPropertyNames(o); for (var i = 0; i < names.length; i++) { if (names[i] in this) continue; var desc = Object.getOwnPropertyDescriptor(o, names[i]); Object.defineProperty(this, names[i], desc); } }});
0 0
- 【笔记】 《js权威指南》- 第6章 对象 - 6.7 属性的特性 (ECMAScript5)
- 【笔记】 《js权威指南》- 第6章 对象 - 6.8 对象的三个属性
- JavaScript权威指南_44_第6章_对象_6.7-属性的特性
- 【笔记】 《js权威指南》- 第6章 对象 - 6.2 - 6.4 属性操作1
- 【笔记】 《js权威指南》- 第6章 对象 - 6.5 - 6.6 属性操作2
- 【笔记】 《js权威指南》- 第6章 对象
- 【笔记】 《js权威指南》- 第6章 对象 - 6.9 序列化对象 - 6.10 对象方法
- 笔记:Hadoop权威指南 第8章 MapReduce 的特性
- 【笔记】 《js权威指南》- 第6章 对象 - 6.1 创建对象
- 【笔记】 《js权威指南》- 第16章 脚本化CSS 16.2 重要的CSS属性
- 【笔记】 《js权威指南》- 第16章 脚本化CSS 16.2 重要的CSS属性(2)
- 【笔记】 《js权威指南》- 第16章 脚本化CSS 16.2 重要的CSS属性(3)
- JavaScript权威指南_45_第6章_对象_6.8-对象的三个属性
- JavaScript权威指南_39_第6章_对象_6.2-属性的查询和设置
- 【笔记】 《js权威指南》- 第15章 脚本化文档 - 15.10 其他文档特性
- 【笔记】 《js权威指南》- 第8章 函数 - 8.7 函数属性、方法和构造函数
- 【笔记】 《js权威指南》- 第3章 类型、值和变量 - 3.5 全局对象
- 【笔记】 《js权威指南》- 第14章 Window对象 14.2 - 14.4
- dubbo,dubbox
- raspberry pi 2 install Ubuntu 14.04 LTS
- poj 1017 Packets 劳心ORZ
- C# Chart详细解析
- Ubuntu系统的安装
- 【笔记】 《js权威指南》- 第6章 对象 - 6.7 属性的特性 (ECMAScript5)
- vim替换功能
- 数据库恢复(database restore)之兵不血刃——半小时恢复客户数据库
- LeetCode 82 Remove Duplicates from Sorted List II
- @property和@synthesize以及@property增强
- 二叉树
- Day5-4.2
- Rhino简介
- 实现句子内单词倒置