AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

每天一篇javascript学习小结(属性定义方法)

51自学网 http://www.wanshiok.com
javascript学习小结,属性定义方法

定义(Definition).定义属性需要使用相应的函数,比如:
Object.defineProperty(obj, "prop", propDesc)
如果obj没有prop这个自身属性,则该函数的作用是给obj添加一个自身属性prop并赋值,
参数propDesc指定了该属性拥有的特性(可写性,可枚举性等).
如果obj已经有了prop这个自身属性,则该函数的作用是修改这个已有属性的特性,当然也包括它的属性值.
1、defineProperty      

 var book = {   _year: 2004,   edition: 1  };     Object.defineProperty(book, "year", {   get: function(){    return this._year;   },   set: function(newValue){       if (newValue > 2004) {     this._year = newValue;     this.edition += newValue - 2004;        }   }  });    book.year = 2005;  alert(book.edition); //2

2、__defineSetter__ 和 __defineGetter__

 var book = {   _year: 2004,   edition: 1  };     //legacy accessor support  book.__defineGetter__("year", function(){   return this._year;   });    book.__defineSetter__("year", function(newValue){   if (newValue > 2004) {    this._year = newValue;    this.edition += newValue - 2004;   }   });    book.year = 2005;  alert(book.edition); //2

以上就是今天的javascript学习小结,之后每天还会继续更新,希望大家继续关注。


javascript学习小结,属性定义方法  
上一篇:跟我学习javascript的作用域与作用域链  下一篇:理解 JavaScript Scoping & Hoisting(二)