<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Object.defineProperty</title>
</head>
<body> <script type="text/javascript">
let number = 18; let person = {
name: "张三",
sex: "男"
} Object.defineProperty(
person, // 指定添加属性的 json 对象
"age", // 指定添加属性的名称
{ // 指定添加属性配置项
// value: 18, // 设置值,不能和 get、set 配置同时使用
// writable: true, // 控制属性是否可修改,默认 false,不能和 get、set 配置同时使用
enumerable: true, // 控制属性是否可枚举(遍历),默认 false
configurable: true, // 控制属性是否可删除,默认 false
get:function() { // 当有人读取 person 对象的 age 属性时,get 函数(getter)就会被调用,且返回的值就是 age 的值
console.log("调用 getter 函数");
return number;
},
set:function() { // 当有人修改 person 对象的 age 属性时,set 函数 (setter)就会被调用,且会修改 age 的值
// 注意,如果 age 属性的 getter 函数读取的是其他变量,那么需要修改被读取的变量
console.log("调用 setter 函数");
number = value;
}
}
); console.log(person);
</script>
</body>
</html>

Object.defineProperty(定义试添加json对象的属性)的更多相关文章

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

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

  2. 遍历json 对象的属性并且动态添加属性

    昨天因为公司的一个需求,所以就研究了一下json对象的属性的遍历和动态修改: var person= { name: 'zhangsan', pass: '123' , 'sni.ni' : 'sss ...

  3. 获取JSON对象的属性值

    1.问题背景 有一个json对象,其中有键值对,那怎样获取json对象中属性值 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...

  4. 获取JSON对象的属性名称

    1.问题背景 一个json对象,是以键值对组成,通过循环json对象,获取json对象中的属性名称 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  5. JS属性描述符之Object.defineProperty()定义对象属性特性

    一.Object.defineProperty的作用 用来给对象新增属性,和修改对象中的属性. 二.JS对象中的描述符 js对象中两种属性描述符:数据描述符和存取描述符(访问描述符). 注意事项: 1 ...

  6. js中Object.defineProperties 定义一个在原对象可读可写的方法

    function A(){ this.name = 'hellow word'; } Object.defineProperties( A.prototype,{ doSomething2 : { v ...

  7. 分享一个Object.defineProperties 定义一个在原对象可读可写的方法

    function A(){ this.name = 'hellow word'; } Object.defineProperties( A.prototype,{ doSomething2 : { v ...

  8. superobject数组添加json对象,用的是引用

    procedure TForm1.Button1Click(Sender: TObject); var ja,jo: ISuperObject; I: Integer; begin ja := SA( ...

  9. jquery ajax 返回的json对象 新增属性值(干货)

    $.ajax({ type:"GEt'; url:"你的地址", data:{"你的字段","字段值"} success:funt ...

  10. 如何遍历一个JSON对象的属性值???

    当遇到一个JSON格式的对象时,不知道它有多少个属性,也不知道有什么属性,该如何遍历它的属性及其属性值呢??? 还是使用Java语言还是很像的,使用for语句. var obj = data[i]; ...

随机推荐

  1. ZROI2

    题解 ZROI2 暑假集训的第二次模拟赛,成绩..更加惨不忍睹.又滑了rk20,(#`-_ゝ-)(sk) 链染色 考场上想出了半正解,思路上期望得分80pts,代码得分0pts,(我这辣鸡代码能力╯︿ ...

  2. Apache RocketMQ 5.0 笔记

    RocketMQ 5.0:云原生"消息.事件.流"实时数据处理平台,覆盖云边端一体化数据处理场景. 核心特性 云原生:生与云,长与云,无限弹性扩缩,K8s友好 高吞吐:万亿级吞吐保 ...

  3. 2023牛客寒假算法基础集训营2 ABCDEFHJKL

    比赛链接 A 题解 知识点:数学. 用 \(n\) 减去区间1的端点得到匹配的一个区间,求一下与区间2的交集. 一个小公式,两区间 \([L_1,R_1]\) 和 \([L_2,R_2]\) 的交集长 ...

  4. angular 引入服务报错global is not defined----angular11引入service报错Can't resolve '@core/net/aa/aa.service' in 'D:\pro'

    先来说第一个问题:angular 引入服务报错global is not defined 今天遇到一个问题: 我以为是代码问题,排查很久没找到问题所在 angular 引入服务报错global is ...

  5. webpack打包后发现有一部分代码还携带注释,如何解决?/webpack打包删除注释以及console.log--快快点进来看一看吧~~

    1.自己配置了一个webpack,打包后发现里边部分代码还存在注释,顿感不妙 废话不多说 解决如下: npm install terser-webpack-plugin --save-dev 然后在w ...

  6. Selenium CHANGELOG[最新版本4.8.0 计划中]

    Selenium CHANGELOG[持续更新] 源文件 https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES 搬运工 对重点版本做 ...

  7. 线程基础知识16-线程相关类CyclicBarrier、Semaphore、Exchanger

    1 CyclicBarrier 1.1 作用 从字面上的意思可以知道,这个类的中文意思是"循环栅栏".大概的意思就是一个可循环利用的屏障. 它的作用就是会让所有线程都等待完成后才会 ...

  8. springcloud 10 spring cloud gateway02 基本使用

    官网:https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/ 注册 ...

  9. 10分钟了解MVVM,实现简易MVVM

    MVVM 是 Model-View-ViewModel 缩写,也就是把 MVC 中的 Controller 演变成 ViewModel.Model 层代表数据模型,View 代表 UI 组件,View ...

  10. Osx10.14升级watchman踩坑记

    背景 使用 watchman 检测文件变化通知非常的好用, 但有些时候会出现 watchman 占用内存和 CPU 特别疯狂, 通过 watch-del 也无济与事, 由于 watchman 的版本 ...