zoukankan      html  css  js  c++  java
  • JS-OO-数据属性,访问器属性

    一、数据属性

    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);
  • 相关阅读:
    读书笔记之理想设计的特征
    一些javascript 变量声明的 疑惑
    LINQ 使用方法
    Google MySQL tool releases
    读书笔记之设计的层次
    EF之数据库连接问题The specified named connection is either not found in the configuration, not intended to be used with the Ent
    转载 什么是闭包
    javascript面向对象起步
    Tips
    数据结构在游戏中的应用
  • 原文地址:https://www.cnblogs.com/chensuqian/p/9644716.html
Copyright © 2011-2022 走看看