<!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. 发布个工具,一键恢复Win8/8.1中的微软拼音长句模式(新体验模式)

    (cnBeta:http://www.cnbeta.com/articles/277936.htm) 首先贴个图,大家来一起念台词~ 念完了木有?很激情澎湃义愤填膺有木有? 这事情最早追溯到前年 8 ...

  2. mysql中的列类型

    创建数据表的时候,指定的列可以存储的数据类型: CREATE TABLE book ( bid  列类型); ① 数值类型--可以不加引号 TINYINT 微整型,占一个字节  范围-128~127 ...

  3. 迁移学习(ADDA)《Adversarial Discriminative Domain Adaptation》

    论文信息 论文标题:Adversarial Discriminative Domain Adaptation论文作者:Eric Tzeng, Judy Hoffman, Kate Saenko, Tr ...

  4. vivo 超大规模消息中间件实践之路

    作者:vivo 互联网存储技术团队-Luo Mingbo.中间件团队- Liu Runyun 本文根据"2022 vivo开发者大会"现场演讲内容整理而成. 本文主要介绍超大数据规 ...

  5. 下一代编解码技术Ali266在视频超高清领域的应用展望

    超高清与各领域的需求融合和创新正在发生. 2022年是一个体育大年,众多世界级体育赛事通过视频直播.转播等形式给观众带来畅爽的观看体验. 2022年北京冬奥会,实现了奥运会历史上首次赛事全程4K制作播 ...

  6. Windows离线安装.net Framework3.5

    写在前面 本文主要介绍在Windows离线情况下安装.NETFramework3.5运行环境 使用场景 在日常开发C#程序中,经常会遇到开发过程中无任何问题,但是安装到目标电脑是会无法打开的,如下图 ...

  7. Linux上安装jdk Tomcat mysql redis等

    1.安装JDk  1.1这里使用xshell中xfxp进行文件的上传,将jdk二进制包上传到Linux服务器上 下载地址:https://www.oracle.com/java/technologie ...

  8. JAVA虚拟机22-原子性、可见性与有序性、先行发生原则

    1 简介 Java内存模型是围绕着在并发过程中如何处理原子性.可见性和有序性这三个特征来建立的,我们逐个来看一下哪些操作实现了这三个特性   2 原子性 2.1 操作指令 由Java内存模型来直接保证 ...

  9. TEB学习

    官方资料:http://wiki.ros.org/teb_local_planner/Tutorials set up and test Optimization(重要) Inspect optimi ...

  10. 2021级《JAVA语言程序设计》上机考试试题6

    首先管理员页面 代码: <%@ page language="java" contentType="text/html; charset=UTF-8" p ...