• 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
    })


  • 相关阅读:
    Java核心技术(初阶)知识点复习——[2]面向对象思想
    Java核心技术(初阶)知识点复习——[1]Java的类结构和main函数
    printStream与printWriter
    java反射的初步探索
    JDKJREJVM的关系
    树链剖分模板
    树状数组模板2
    树状数组模板1
    树状数组+欧拉降幂
    线段树模板二
  • 原文地址:https://www.cnblogs.com/facial/p/5142662.html
Copyright © 2020-2023  润新知