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

本文共 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

你可能感兴趣的文章
[CF1105D]Kilani and the Game
查看>>
[bzoj4195][Noi2015]程序自动分析
查看>>
简单的bfs(最短路径)c++
查看>>
Matlab2013a许可证过期问题,反复提示激活
查看>>
向上下左右不间断无缝滚动图片的效果(兼容火狐和IE)
查看>>
MongoDB 基础
查看>>
redis分布式集群3种架构方案
查看>>
C++ 编程思想——继承和组合
查看>>
Charles抓包显示乱码解决方法
查看>>
springboot之项目打包
查看>>
wordpress速度慢
查看>>
如何在ios 系统 中抓包??
查看>>
JS获取cookie
查看>>
C语言利用数组和文件登录注册功能
查看>>
关于 android 中 postDelayed方法的讲解
查看>>
Web前端开发中的MCRV模式(转)
查看>>
OpenCV 在android studio 中的用法
查看>>
基础知识(二)-操作系统
查看>>
Asp.Net MVC中Action跳转
查看>>
(五)springmvc之获取表单提交的数据
查看>>