Object.defineProperty 相关学习
- 描述:
- 方法直接在对象上定义一个新属性,或修改对象上的现有属性
- 并返回该对象。该方法允许精确地添加或修改对象上的属性;
- 语法:
- Object.defineProperty(obj, prop, descriptor)
- obj
必需。目标对象 - prop
定义或者修改的属性名称 - descriptor
对要定义或者修改的属性的描述
- obj
- Object.defineProperty(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
- 当获取值的时候触发的函数
- 通过返回值设置
- 注意:
- configurable:true | false,
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
Object.defineProperty 相关学习的更多相关文章
- Object.defineProperty()方法学习笔记
这是js中一个非常重要的方法,ES6中某些方法的实现依赖于它,VUE通过它实现双向绑定 此方法会直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象 参数 Object.def ...
- JS apply的巧妙用法以及扩展到Object.defineProperty的使用
Math.max 实现得到数组中最大的一项 var array = [1,2,3,4,5]; var max = Math.max.apply(null, array); console.log(ma ...
- 双向数据绑定实现之Object.defineProperty
vue.js利用的是es5的 defineproperty 特性实现的双向数据绑定,了解一下基本原理. 举例 var person= {}; Object.defineProperty(person, ...
- Vue.js 源码学习笔记 -- 分析前准备2 -- Object.defineProperty
解析神奇的 Object.defineProperty 几行代码看他怎么用 var a= {} Object.defineProperty( a, "b", { value ...
- JS object(对象)的学习汇总
Object(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象,而每一个事物都有自己的表示的属性和对于某一信息作出的相应的操作.而这些东西就变成了事物的属性和方法. ...
- javascript之Object.defineProperty的奥妙
直切主题 今天遇到一个这样的功能: 写一个函数,该函数传递两个参数,第一个参数为返回对象的总数据量,第二个参数为初始化对象的数据.如: var o = obj (4, {name: 'xu', age ...
- Vue 双向数据绑定原理分析 以及 Object.defineproperty语法
第三方精简版实现 https://github.com/luobotang/simply-vue Object.defineProperty 学习,打开控制台分别输入以下内容调试结果 userInfo ...
- vue 数据绑定实现的核心 Object.defineProperty()
vue深入响应式原理 现在是时候深入一下了!Vue 最独特的特性之一,是其非侵入性的响应式系统.数据模型仅仅是普通的 JavaScript 对象.而当你修改它们时,视图会进行更新.这使得状态管理非常简 ...
- Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象。
Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象. 语法EDIT Object.defineProperty(obj, ...
随机推荐
- [转帖]Apache Kylin 概述
Apache Kylin 概述 https://www.cnblogs.com/xiaodf/p/11671095.html 1 Kylin是什么 今天,随着移动互联网.物联网.AI等技术的快速兴起, ...
- istio网格可视化kiali部署
前提: 已经安装了kubernetes 已经熟悉如何安装istio 熟悉kubernetes 和 istio 基本使用 注意文章红色加粗字体能上网 tip kubernetes 安装:centos7 ...
- java通过jasper文件生成jpg图片
iReport资料紧俏,整理好就赶紧传上来: 工具类:JpgExport public class JpgExportUtil { public static String Export(Map< ...
- Python09之range函数(BIF内置函数)
具体语法: range(起始值,结束值,步进值) range() 其属于内置函数,不需要导入其他模块即可使用,直接在Python的IDLE直接可以使用. list(range(0,10)) [0, 1 ...
- 100天搞定机器学习|day54 聚类系列:层次聚类原理及案例
几张GIF理解K-均值聚类原理 k均值聚类数学推导与python实现 前文说了k均值聚类,他是基于中心的聚类方法,通过迭代将样本分到k个类中,使每个样本与其所属类的中心或均值最近. 今天我们看一下无监 ...
- MySQL8.0新特性实验1
Server层,选项持久化 mysql> show variables like '%max_connections%';+------------------------+-------+| ...
- 2019杭电多校三 C. Yukikaze and Demons (点分治)
大意: 给定树, 每个点有一个十进制数位, 求有多少条路径组成的十进制数被$k$整除. 点分治, 可以参考CF715C, 转化为求$10^a x+b\equiv 0(mod\space k)$的$x$ ...
- 题解-APIO2019路灯
problem \(\mathtt {loj-3146}\) 题意概要:一条直线上有 \(n+1\) 个点和 \(n\) 条道路,每条道路连通相邻两个点.在 \(q\) 个时刻内,每个时刻有如下两种操 ...
- 以EntifyFramework DBFirst方式访问SQLite数据库
前面一直在找EF Code First方式来访问SQLite数据库,后面得出的结论是SQLite不支持 Code First, 虽然有非官方的库SQLite.CodeFirst可以使用,但一直没搞成功 ...
- sql For xml path('') 备忘
sql 合并行使用的两个函数记录: SELECT CityName,STUFF((SELECT ',' + UserName FROM table1 subTitle WHERE CityName=A ...