每天一篇javascript学习小结(属性定义方法)
每天一篇javascript学习小结(属性定义方法)
发布时间:2016-12-30 来源:查字典编辑
摘要:定义(Definition).定义属性需要使用相应的函数,比如:Object.defineProperty(obj,"prop",propD...

定义(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教程学习
编程开发子分类