首页 > Web开发 > 详细

读书笔记——《You Don't Know JS》

时间:2014-08-11 14:32:12      阅读:307      评论:0      收藏:0      [点我收藏+]

第一部:《You don‘t know JS: this & Object prototype》

第三章 Object

对象常量

var myObject = {};
Object.defineProperty( myObject, "FAVORITE_NUMBER", {
 value: 42,
 writable: false,
 configurable: false
} );

禁止对象扩展

var myObject = {
 a: 2
};
Object.preventExtensions( myObject );
myObject.b = 3;
myObject.b; // undefined

   使用preventExtensions方法,可禁止对象再次扩展。 

Object.seal(..)
     preventExtensions + configurable:false

Object.freeze(..)
     s Object.seal(..) + writable:false

对象默认方法[[Get]]、[[PUT]]

自定义Getters和Setters

var myObject = {
 // define a getter for `a`
 get a() {
 return 2;
 }
};
Object.defineProperty(
 myObject, // target
 "b", // property name
 { // descriptor
 // define a getter for `b`
 get: function(){ return this.a * 2 },
 // make sure `b` shows up as an object property
 enumerable: true
 }
);
var myObject = {
 // define a getter for `a`
 get a() {
 return this._a_;
 },
 // define a setter for `a`
 set a(val) {
 this._a_ = val * 2;
 }
};

 

读书笔记——《You Don't Know JS》,布布扣,bubuko.com

读书笔记——《You Don't Know JS》

原文:http://www.cnblogs.com/javawer/p/3904363.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!