js中Object.defineProperty()和defineProperties…
2018-06-24 02:03:28来源:未知 阅读 ()
数据属性
[[Configurable]]
[[Enumerable]]
[[Writable]]
[[Value]]
访问器属性
[[Configurable]]
[[Enumerable]]
[[Get]]
[[Set]]
var obj = {}; obj.name = 'lc'; obj.weight = 180;
Object.defineProperty()
语法:Object.defineProperty(obj,prop,descriptor)
var book = { // _price: 20 }; //添加name属性 Object.defineProperty(book, 'name', { value: 'bkk', enumerable: true, configurable: false, writable: true }); console.log(book.name) //bkk
Object.defineProperties()
语法:Object.defineProperties(obj,props)
Object.defineProperties(book,{ test:{}, _year:{ value:2004, writable: true, enumerable:true },edition:{ value:1, writable: true },year:{ //定义访问器属性 get :function(){ return this._year; }, set: function(newValue){ if(newValue>2004){ this._year = newValue; this.edition += newValue -2004; } } } })
Object.getOwnPropertyDescriptor()
语法:Object.getOwnPropertyDescriptor(obj,prop);
var desc = Object.getOwnPropertyDescriptor(book,'name'); console.log(desc); //{value: "bkk", writable: true, enumerable: true, configurable: false}
Object.getOwnPropertyDescriptors()
语法:Object.getOwnPropertyDescriptors(obj);
var descs = Object.getOwnPropertyDescriptors(book); console.log(descs); { "name":{ "value":"bkk", "writable":true, "enumerable":true, "configurable":false }, "test":{ "writable":false, "enumerable":false, "configurable":false }, ... "year":{ "enumerable":false, "configurable":false } }
回到开定用对象字面量定义的对象 obj
var descs = Object.getOwnPropertyDescriptors(obj); console.log(JSON.stringify(descs)) { "name":{ "value":"lc", "writable":true, "enumerable":true, "configurable":true }, "weight":{ "value":180, "writable":true, "enumerable":true, "configurable":true } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:JS处理数组内如果相同ID追加一个属性(如字体颜色)
下一篇:常用证件正则表达式
- 深入了解Object.defineProperty 2018-09-29
- Object.defineProperty 2018-09-01
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash