博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript 学习总结(八)属性定义方法
阅读量:5251 次
发布时间:2019-06-14

本文共 1389 字,大约阅读时间需要 4 分钟。

1、defineProperty

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

参考网址:

 

转载于:https://www.cnblogs.com/shizhouyu/p/4929272.html

你可能感兴趣的文章
torch教程[1]用numpy实现三层全连接神经网络
查看>>
java实现哈弗曼树
查看>>
转:Web 测试的创作与调试技术
查看>>
python学习笔记3-列表
查看>>
程序的静态链接,动态链接和装载 (补充)
查看>>
关于本博客说明
查看>>
线程androidAndroid ConditionVariable的用法
查看>>
stap-prep 需要安装那些内核符号
查看>>
转载:ASP.NET Core 在 JSON 文件中配置依赖注入
查看>>
socket初识
查看>>
磁盘测试工具
查看>>
代码变量、函数命名神奇网站
查看>>
redis cli命令
查看>>
Problem B: 占点游戏
查看>>
python常用模块之sys, os, random
查看>>
HDU 2548 A strange lift
查看>>
Linux服务器在外地,如何用eclipse连接hdfs
查看>>
react双组件传值和传参
查看>>
[Kaggle] Sentiment Analysis on Movie Reviews
查看>>
价值观
查看>>