zoukankan      html  css  js  c++  java
  • 面向对象-数据属性

    数据属性

    数据属性包括:

    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;
    
                        }
    
                    }
    
                });
  • 相关阅读:
    经典测试工程师面试题(一)
    python面试题2
    python面试题1
    软件测试面试题2
    软件测试面试题1
    python读写csv文件
    死亡还是合并?和李开复聊聊走投无路创业公司(转)
    项目如何开始:怎样和客户谈需求(转)
    [转载]给IT人员支招:如何跟业务部门谈需求分析?
    VS2013的一些常用快捷键
  • 原文地址:https://www.cnblogs.com/y8932809/p/5386835.html
Copyright © 2011-2022 走看看