zoukankan      html  css  js  c++  java
  • javascript 属性的特性

    /*

    属性的特性:

    可以通过调用Object.getOwnPropertyDescriptor()可以获得某个对象特定属性的属性描述符,
    从函数名字就可以看出, Object.getOwnPropertyDescriptor()只能得到自有属性的描述符,


    */


    Object.getOwnPropertyDescriptor({x:1}, "x"); //返回 描述符: Object {value: 1, writable: true, enumerable: true, configurable: true}


    //对于继承属性和不存早的属性,返回undefined

    Object.getOwnPropertyDescriptor({}, "x"); //return undefined, 没有这个属性
    Object.getOwnPropertyDescriptor({}, "toString"); //return undefined, 继承属性


    /*

    设置属性的特性:
    要想设置属性的特性,或者想让新建属性具有某种属性,则需要调用Object.defineProperty(), 传入要修改的对象, 要创建或者修改的属性的名称以及属性的名称以及属性描述符对象:

    */

    var o = {};

    // 添加一个不可枚举的数据属性x, 并赋值1
    Object.defineProperty(o,"x",{
    value: 1,
    writable: true,
    enumerable: false,
    configurable: true
    })

    //属性是存在的, 但不可枚举
    o.x //1
    Object.keys(o) //[]


    //现在对属性x做修改, 让它变成只读
    Object.defineProperty(o,"x",{
    writable:false
    })


  • 相关阅读:
    MySQL技术内幕 InnoDB存储引擎 之 InnoDB体系架构
    ORACLE同义词使用
    五大好用的开源MySQL管理工具推荐
    MySQL Online DDL工具
    10046事件及其用法介绍
    MySQL表碎片清理
    MyRocks安装部署
    TiDB单机安装测试
    TiDB官方文档
    GoldenGate—AUTORESTART配置
  • 原文地址:https://www.cnblogs.com/facial/p/5142662.html
Copyright © 2011-2022 走看看