Object.defineProperty 学习
 
  • 描述:

    • 方法直接在对象上定义一个新属性,或修改对象上的现有属性
    • 并返回该对象。该方法允许精确地添加或修改对象上的属性;
    • 语法:
      • Object.defineProperty(obj, prop, descriptor)

        • obj
          必需。目标对象
        • prop
          定义或者修改的属性名称
        • descriptor
          对要定义或者修改的属性的描述
  • descriptor 目标属性所拥有的特性配置项
    • configurable:true | false,

      • 是否可以删除目标属性或是否可以再次修改属性的特性(writable, configurable, enumerable)。
      • 设置为true可以被删除或可以重新设置特性;
      • 设置为false,不能被可以被删除或不可以重新设置特性。
      • 默认为false。
    • enumerable:true | false,
      • 此属性是否可以被枚举(使用for...in或Object.keys())。
      • 设置为true可以被枚举;
      • 设置为false,不能被枚举。
      • 默认为false。
    • value:任意类型的值,
      • 属性对应的值,可以使任意类型的值,
      • 默认为undefined
    • writable:true | false
      • 属性的值是否可以被重写。
      • 设置为true可以被重写;
      • 设置为false,不能被重写。
      • 默认为false。
    • 存储器描述
      • 注意:

        • 1. 当使用了getter或setter方法,不允许使用writable和value这两个属性
        • 2. get或set不是必须成对出现,任写其一就可以。如果不设置方法,则get和set的默认值为undefined
      • set :function (value){} | undefined
        • 是一种设置属性值的方法
        • 当设置值的时候触发的函数,设置的新值通过参数value拿到
      • get :function (){} | undefined
        • 当获取值的时候触发的函数
        • 通过返回值设置

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

 
 
 
 

Object.defineProperty 相关学习的更多相关文章

  1. Object.defineProperty()方法学习笔记

    这是js中一个非常重要的方法,ES6中某些方法的实现依赖于它,VUE通过它实现双向绑定 此方法会直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象 参数 Object.def ...

  2. JS apply的巧妙用法以及扩展到Object.defineProperty的使用

    Math.max 实现得到数组中最大的一项 var array = [1,2,3,4,5]; var max = Math.max.apply(null, array); console.log(ma ...

  3. 双向数据绑定实现之Object.defineProperty

    vue.js利用的是es5的 defineproperty 特性实现的双向数据绑定,了解一下基本原理. 举例 var person= {}; Object.defineProperty(person, ...

  4. Vue.js 源码学习笔记 -- 分析前准备2 -- Object.defineProperty

    解析神奇的 Object.defineProperty   几行代码看他怎么用   var a= {} Object.defineProperty( a, "b", { value ...

  5. JS object(对象)的学习汇总

    Object(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象,而每一个事物都有自己的表示的属性和对于某一信息作出的相应的操作.而这些东西就变成了事物的属性和方法. ...

  6. javascript之Object.defineProperty的奥妙

    直切主题 今天遇到一个这样的功能: 写一个函数,该函数传递两个参数,第一个参数为返回对象的总数据量,第二个参数为初始化对象的数据.如: var o = obj (4, {name: 'xu', age ...

  7. Vue 双向数据绑定原理分析 以及 Object.defineproperty语法

    第三方精简版实现 https://github.com/luobotang/simply-vue Object.defineProperty 学习,打开控制台分别输入以下内容调试结果 userInfo ...

  8. vue 数据绑定实现的核心 Object.defineProperty()

    vue深入响应式原理 现在是时候深入一下了!Vue 最独特的特性之一,是其非侵入性的响应式系统.数据模型仅仅是普通的 JavaScript 对象.而当你修改它们时,视图会进行更新.这使得状态管理非常简 ...

  9. Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象。

    Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象. 语法EDIT Object.defineProperty(obj, ...

随机推荐

  1. 记一次EFCore类型转换错误及解决方案

    一  背景 今天在使用EntityFrameworkCore 查询的时候在调试的时候总是提示如下错误:Unable to cast object of type 'System.Data.SqlTyp ...

  2. python第二天---字符串的魔法

    # "adcbdefg" # "a" # 判断某个东西是否在里面包含 in | not in # name = "abcdefg" # # ...

  3. WUSTOJ 1313: 数列(Java)进制转换

    题目链接:

  4. zabbix添加自定义监控(自动发现)遇到的问题

    问题:zabbix添加自动发现端口,提示Value should be a JSON object [root@localhost zabbix_agentd.d]# zabbix_get -s 19 ...

  5. 启动 docker 容器时报错

    错误信息: iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9300 -j DNAT --to-dest ...

  6. hdu 1242 不用标记数组的深搜

    #include<stdio.h>#include<string.h>char mapp[220][220];int m,n,mmin;void dfs(int x,int y ...

  7. JMeter-03-元件的作用域与执行顺序

    JMeter元件的作用域与执行顺序 元件的作用域 先来讨论一下元件有作用域.<JMeter基础元件介绍>一节中,我们介绍了8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样 ...

  8. Thread.interrupt()源码跟踪

    1 JDK源码跟踪 // java.lang.Thread public void interrupt() { if (this != Thread.currentThread()) checkAcc ...

  9. Mac Book触摸板失灵的解决办法(触摸板按下失灵)

    1. 先关机 2. 同时按住 command+option+R+P 3. 按电源键开机,同时手指保持按住前几个按钮的姿势. 4. 等待电脑发出四下“deng”的声音后松开即可.每次发声间隔大概6~7秒 ...

  10. iOS - The file “XXX.app” couldn’t be opened because you don’t have permission to view it.

    当引入第三方的框架的时候 容易产生以下问题: The file “XXX.app” couldn’t be opened because you don’t have permission to vi ...