博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS-OO-数据属性,访问器属性
阅读量:5928 次
发布时间:2019-06-19

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

一、数据属性

Configurable:表示能否通过Delete删除属性从而重新定义属性,能否修改属性的特性,能否把属性修改为访问器属性。默认true。

Enumerable:表示能否通过for-in循环返回属性。默认true。
Writable:表示能否修改属性的值。默认true。
Value:包含这个属性的数据值。默认undefined。
要修改属性默认值,必须使用Object.defineProperty()方法。
参数:属性所在的对象,属性的名字和一个描述符对象(descriptor:configurable、enumerable、writable、value之一)。
例:
var person = {};
        Object.defineProperty(person, "name", {writable:false,value:"chensuqian"});//name值是只读的
        alert(person.name);
        person.name="hello world";
        alert(person.name);
两次值相同。
二、访问器属性
Configurable:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为数据属性。默认true。
Enumerable:表示能否通过for-in循环返回属性。默认true。
Get:读取属性时调用。默认undefined。
Set:写入属性时调用。默认undefined。
访问器属性不能直接定义,必须使用Object.defineProperty()方法定义。
var book = { _year: 2004, edition: 1 };
        Object.defineProperty(book, "year",
        {
            get: function () { return this._year; },
            set: function (value) {
                if (value > 2004) {
                    this._year = value;
                    this.edition += value - 2004;
                }
            }
        });
        book.year = 2015;
        alert(book.edition);

转载于:https://www.cnblogs.com/chensuqian/p/9644716.html

你可能感兴趣的文章
Cognos第三方权限认证Oracle用户库
查看>>
在github Pages上部署octopress搭建个人博客系统
查看>>
大公司还是创业公司,你怎么选择?
查看>>
Linux下几个常用的快捷键,真的很实用
查看>>
Was liberty资料总结
查看>>
html在线编辑器汇总
查看>>
SpringMVC 文本文件下载的配置
查看>>
李洪强漫谈iOS开发[C语言-043]-判断较早日期
查看>>
关于BUG率的计算和它的实际意义的思考
查看>>
转:Java NIO系列教程(五) 通道之间的数据传输
查看>>
php-fpm 启动参数及重要配置详解
查看>>
【转载】PowerDesigner逆向工程
查看>>
MySQL优化---DBA对MySQL优化的一些总结
查看>>
jquery添加的html元素按钮为什么不执行类样式绑定的click事件
查看>>
php中array_filter的使用
查看>>
AFO
查看>>
JS、C#编码解码
查看>>
OFbiz--简单介绍
查看>>
深度学习500问,我觉得很不错
查看>>
TestNG简单的学习-TestNG运行
查看>>