• 面向对象-数据属性


    数据属性

    数据属性包括:

    Configurable: 表示能否通过delete删除属性,从而重新定义属性。默认值是true。

    Enumerable:表示能否通过for-in循环返回属性。默认值是true。

    Writable: 表示能否修改属性的值。默认值是true。

    Value: 包含这个属性的数据值,读取属性的时候从这个位置读,写入属性的时候从这个位置写。默认值是undefined。

    如果要修改默认属性,必须使用object.defineProperty()方法。这个方法接收三个参数。

    配置是否可修改的属性

        var person = {};
    
            Object.defineProperty(person, "name", {
    
                writable: false,
    
                value: "Nicholas"
    
            });
    
            alert(person.name);//Nicholas
    
            person.name = "ui";
    
            alert(person.name);//Nicholas

    配置是否可删除

    var person = {};
    
            Object.defineProperty(person, "name", {
    
                configurable: false,
    
                value: "Nicholas"
    
            });
    
            alert(person.name);//Nicholas
    
            delete person.name;
    
            alert(person.name);//Nicholas

    访问器属性 get set

    var book = {
    
                _year: 2004,
    
                edition: 1
    
            };
    
            Object.defineProperty(book, "year", {
    
                get: function () {
    
                    return this._year;
    
                },
    
                set: function (newValue) {
    
                    if (newValue > 2004) {
    
                        return this._year;
    
                        this.edition += newValue - 2004;
    
                    }
    
                }
    
            });
    
            book.year = 2005;
    
            alert(book.edition); //2

    定义多个属性

    Object.defineProperty(book, {
    
                    _year: {
    
                        Value: 2004
    
                    },
    
                    Year: {
    
                        get: function () {
    
                            return this._year;
    
                        }
    
                    }
    
                });
  • 相关阅读:
    箭头函数
    对象的方法
    promise
    分布式文件存储FastDFS 邓维
    mysql字段长度设计 邓维
    计算机速成课 第二十一集 压缩
    计算机速成课 第二十四集 冷战和消费主义
    计算机速成课 第二十二集 命令行界面
    计算机速成课 第二十集 文件系统
    计算机速成课 第二十三集 屏幕&2D 图形显示
  • 原文地址:https://www.cnblogs.com/y8932809/p/5386835.html
Copyright © 2020-2023  润新知