每天一篇javascript学习小结(属性定义方法)
作者:bea
定义(Definition).定义属性需要使用相应的函数,比如: Object.defineProperty(obj, "prop", propDesc) 如果obj没有prop这个自身属性,则该函数的作用是给obj添加一个自身属性prop并赋值, 参数propDesc指定了该属性拥有的特性(可写性,可枚举性等). 如果obj已经有了prop这个自身属性,则该函数的作用是修改这个已有属性的特性,当然也包括它的属性值. 1、defineProperty var book
定义(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学习小结,之后每天还会继续更新,希望大家继续关注。
猜你喜欢
您可能感兴趣的文章:
- 基于html5和nodejs相结合实现websocket即使通讯
- 浅析nodejs实现Websocket的数据接收与发送
- Node.js中使用socket创建私聊和公聊聊天室
- Jquery实现仿京东商城省市联动菜单
- javascript实现二级级联菜单的简单制作
- jquery通过扩展select控件实现支持enter或focus选择的方法
- javascript中checkbox使用方法实例演示
- jquery实现表格隔行换色效果
- javascript设计简单的秒表计时器
- 跟我学习javascript的定时器
- 分享纯手写漂亮的表单验证
- javascript获取系统当前时间的方法
- jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
- javascript电商网站抢购倒计时效果实现
- 跟我学习javascript的Date对象
- 跟我学习javascript的this关键字
- jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
- 基于Jquery代码实现手风琴菜单
- 跟我学习javascript的作用域与作用域链