JS Object.defineProperties()方法
JS Object.defineProperties()方法
描述:
Object.defineProperties()方法为目标对象同时配置多个属性。
语法:
Object.defineProperties(obj, props)
参数:
| 参数 | 描述 |
|---|---|
| obj | 目标对象。 |
| props | 包含一个或多个属性配置对象的对象。 |
props对象每个属性的配置对象包含以下几个属性:
- configurable : 是否可以删除目标属性或是否可以再次配置属性的特性。设置为true表示可以被删除或可以重新设置特性;设置为false,不能被可以被删除或不可以重新设置特性。默认为false。
- enumerable : 属性是否可枚举。设置为true可以被枚举;反之,不能被枚举。默认为false。
- value : 属性对应的值。
- writable : 属性的值是否可以被重写,设置为true表示可重写,反之,不可重写。默认为true
- get : 读取属性时调用的函数。默认为undefined。
- set : 设置属性时调用的函数。默认为undefined。
返回值:
配置后的目标对象。
例1:
const obj = {};
Object.defineProperties(obj, {
prop1: {
value: 'JavaScript',
writable: true
},
prop2: {
value: 'ECMAScript',
writable: false
},
});
obj.prop1 = obj.prop2 = 'TypeScript';
console.info(obj.prop1); // TypeScript
console.info(obj.prop2); // ECMAScript
转载至EC前端 - JS Object.defineProperties()方法
JS Object.defineProperties()方法的更多相关文章
- Object.defineProperties()和Object.defineProperty()方法
Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象. 语法:Object.defineProperty(obj, pro ...
- Object.defineProperties()与Proxy对象代理
Object.defineProperties() 了不起啊..vue.js通过它实现双向绑定的 Object.defineProperties(obj,props) 方法直接在一个对象上定义新的属性 ...
- js中Object.defineProperties 定义一个在原对象可读可写的方法
function A(){ this.name = 'hellow word'; } Object.defineProperties( A.prototype,{ doSomething2 : { v ...
- JS 中 原生方法 (四) --- Object
Javascript 中 str. arr.date.obj 等常见的原生方法总结 本文也说主要阐释了 Javascript 中的基础类型和 引用类型的自带方法,那么熟悉的同学又可以绕道了 总是绕道, ...
- JavaScript---正则使用,日期Date的使用,Math的使用,JS面向对象(工厂模式,元模型创建对象,Object添加方法)
JavaScript---正则使用,日期Date的使用,Math的使用,JS面向对象(工厂模式,元模型创建对象,Object添加方法) 一丶正则的用法 创建正则对象: 方式一: var reg=new ...
- 解决webpack和gulp打包js时ES6转译ES5时Object.assign()方法没转译成功的问题
在webpack或gulp打包的配置文件中package.json 引入"@babel/plugin-transform-object-assign": "^7.2.0& ...
- 分享一个Object.defineProperties 定义一个在原对象可读可写的方法
function A(){ this.name = 'hellow word'; } Object.defineProperties( A.prototype,{ doSomething2 : { v ...
- js中Object.defineProperty()方法的解释
菜菜: “老大,那个, Object.defineProperty 是什么鬼?” 假设我们有个对象 user ; 我们要给它增加一个属性 name , 我们会这么做 1 2 3 var user = ...
- js object(对象)
http://www.cnblogs.com/pingchuanxin/p/5773326.html Object(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象 ...
随机推荐
- 基于JSP servlet mysql 的登陆页面
数据库中建表: login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8&q ...
- MAC环境配置
必须安装的依赖有:Node.Watchman 和 React Native 命令行工具以及 Xcode. 1.安装homebrew(用brew指令安装其他依赖) /usr/bin/ruby -e &q ...
- Linux上安装jdk,mysql
1.准备工作 一台纯净的Linux系统需要先安装一些依赖才能安装jdk等 rpm: 本地添加安装程序:rpm -ivh 程序名 本地查看程序: rpm -qa 本地卸载程序: rpm -e --nod ...
- Django12-ModelForm中创建局部钩子和全局钩子
一.局部钩子 命名规则为clean_对象名称,例如上面定义了username.pwd对象,那么可以定义clean_username.clean_pwd的局部钩子进行规则校验 1.例子:定义一个手机号校 ...
- Django中manger/QuerySet类与mysql数据库的查询
Django中的单表操作 1.精确查询 #查询的结果返回是容器Query Set的函数(Query Set模型类)# 1. all() 查询的所有的符合条件的结果,支持正向索引,支持索引切片,不 ...
- 查询当前局域网下所有IP和物理网卡地址
WIN+R –> 打开cmd 键入 arp -a
- 小A的位运算-(前缀和+位运算)
https://ac.nowcoder.com/acm/contest/549/D 题意:从N个数里面选出N-1个数要让它们或起来的值最大. 解题: 假设n个数分别存在a数组里. 从左到右连续或运算结 ...
- validate表单验证
validate使用步骤:1.导入jquery.js2.导入validate.js3.在页面加载成功之后 对表单进行校验 $("选择器").validate()4.在valida ...
- position:fixed失效情况
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- linux下的dhcp服务器实现
一.得到udhcpd(udhcp服务端): 1.解压busybox 2.配置busybox Networking Utilities——> [*] udhcp server(udhcpd) [* ...