zoukankan      html  css  js  c++  java
  • JavaScript 对象操作

      Object.defineProperty(obj, prop, descriptor)方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象。

      const  freezeObj = Object.freeze(obj), Object.freeze()方法可以冻结一个对象,冻结后,不能给对象freezeObj添加新的属性,不能修改其已有属性的值,不能删除已有的属性,以及不能修改对象已有属性的可枚举性、可配置性、可写性。

      descriptor:

        configurable 可配置性,当且仅当该属性为true时,该属性的描述符才能被改变,同时该属性也能被删除,默认为 true。

        enumerable 当且仅当该属性为true时,该属性才能出现在对象的枚举遍历中。 (for  in) ,  object.keys()。object.keys(obj)会返回一个有给定对象的自身可枚举属性的属性名组成的数组,数组中名的排列顺序和使用 for .... in 循环遍历该对象时返回的顺序一致。

        value 值

        writable 当且仅当为true时,才能被赋值运算符改变。

        get 一个给属性提供getter的方法,如果没有则 getter 为undefined,当访问该属性时该方法会被执行,方法执行时没有参数传入,但会传入this对象。

        set 一个给属性提供setter的方法,如果没有则setter为undefined,当该属性修改时会触发该方法,参数为新的value。

        定义 get 和 set 可以对对象属性的操作进行监听。get ,set 不能与 writable ,value同时定义,数据描述符不能与存取描述符冲突,有些对象上的属性是原型链上继承来的属性。

      

      

  • 相关阅读:
    Kafka发送到分区的message是否是负载均衡的?
    SpringCloud使用Feign出现java.lang.ClassNotFoundException: org.springframework.cloud.client.loadbalancer.LoadBalancedRetryFactory异常
    JDBC Mysql 驱动连接异常
    Mysql启动失败解决方案
    前段时间在微信公众号写的文章
    Java线程wait和sleep的区别
    nginx配置反向代理
    分布式锁的几种实现方式
    java四种修饰符的限制范围
    传值&传值引用
  • 原文地址:https://www.cnblogs.com/wust-hy/p/11181798.html
Copyright © 2011-2022 走看看