JavaScript对象之属性标签
本文介绍一下js对象的属性标签(configurable、writable、enumerable、value、get、set)的使用。

上图的要点为:
1.Object.getOwnPropertyDescriptor(obj,attr)可以获取属性标签的信息。
2.configurable控制属性是否可配置,writable控制属性是否可直接修改,enumerable控制属性是否可被枚举出来。

上图中Object.keys(person)不会输出不能被枚举的对象属性。

上图的要点为:
1.使用Object.defineProperties可定义对象的多个属性。
2.未设置的属性标签的默认值是false。

上图通过重写promote属性的setter,使得当给promote赋值为2后,人的工资发生改变。感觉像Java的面向对象中的类。
这里的get和set的语法和JavaScript对象之get/set方法中的语法略有不同,但是其实本质是一样的。

上图的要点为:
1.writable只限制了能否直接赋值。
2.configurable为false依然能直接修改属性的值。
3.若writable和configurable都是false,则无法进行属性的修改。
JavaScript对象之属性标签的更多相关文章
- 了解JavaScript 对象的属性操作
		提起操作, 很多人都会想到我们学习过程中最经常做的操作, 就是对数据库进行增, 删, 改, 查, 既然提到这个, 那么对于对象的属性操作也不例外, 基本上可以说也是这几个操作. JS中对象的属性标签 ... 
- JavaScript 对象 - 与属性的相关知识
		function inherit(p){ if(p == null) throw TypeError(); if(Object.create) return Object.create(p); var ... 
- JavaScript | 对象与属性
		———————————————————————————————————————————— 对象:JavaScript是基于原型的语言,没有Class,所以将函数作为类 - - - - - - - - ... 
- javascript对象的属性,方法,prototype作用范围分析.
		用了javascript这么久由于没有系统学习过基础,总是拿来主义. 所以对一些基础知识还是搞不清楚很混乱. 今天自己做个小例子,希望彻底能搞清楚. 注释中对象只例子的对象本身,原型只原型继承对象的新 ... 
- javascript对象constructor属性
		概述 返回一个指向创建了该对象原型的函数引用.需要注意的是,该属性的值是那个函数本身,而不是一个包含函数名称的字符串.对于原始值(如1,true 或 "test"),该属性为只读. ... 
- JavaScript对象遍历属性和值
		原文链接:http://caibaojian.com/javascript-object-3.html 加入你输出来一个对象,但是苦于不知道里面有哪些属性和值,这个时候,你可以通过下面的代码来遍历这个 ... 
- JavaScript对象之属性操作
		在js对象中,我们可以对对象属性进行操作. 上图的要点为:for-in会把原型链上的可枚举属性也列出来. 上图的要点为:可以使用逻辑运算符&&进行层层查找对象是否为undefined, ... 
- 删除要被替换的元素的所有事件处理 程序和 JavaScript 对象属性
		使用本节介绍的方法替换子节点可能会导致浏览器的内存占用问题,尤其是在 IE 中,问题更加明显.在删除带有事件处理程序或引用了其他 JavaScript 对象子树时,就有可能导致内存占用问题.假设 某个 ... 
- JavaScript对象属性
		JavaScript对象的属性有两类:数据属性和访问器属性 数据属性 数据属性有四个特性,分别为: [[value]]属性的值 [[writeable]]属性是否可以修改 [[enumerable]] ... 
随机推荐
- Uva1635 二项式递推+质因子分解+整数因子分解
			题意: 给定n个数a1,a2····an,依次求出相邻两个数值和,将得到一个新数列,重复上述操作,最后结果将变为一个数,问这个数除以m的余数与那些数无关? 例如n=3,m=2时,第一次得到a1+a2, ... 
- VSCode添加git bash作为默认终端
			VSC添加git bash作为默认终端的settings.json添加 { "terminal.integrated.shell.windows": "D:\\Progr ... 
- Spark学习之路 (十二)SparkCore的调优之资源调优[转]
			概述 在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要的参数,以及如 ... 
- Spring BeanDefinitionHolder源码解析
			BeanDefinitionHolder源码解析 继承关系 实现的接口 和BeanDefinition一样实现了BeanMetadataElement接口,获得了获取数据源(配置类的class对象)的 ... 
- npx是什么
			npx是一个执行npm软件包的二进制文件,通俗的讲,他可以执行npm的一些指令 在npm>5.2.0 的时候npm里面就集成了npx 比如npx webpack 他会执行node_modules ... 
- VSCode配置之open-with-Live-Server 无法打开浏览器【解决方法】
			如果你的vscode编辑器打开浏览器时默认打开的是iE,想要把它改为chrome,怎么办呢? 我遇到如下原因: 这是按照网上的setting.json配置 这是运行了 open-with-live-s ... 
- CSS 实现一个自适应的正方形
			传统方法正方形用固定的形式写 直接长=宽写固定的值如下 .box{ width: 200px; height: 200px; background: pink; color: ... 
- sqlalchemy_mptt一次调优
			问题背景: 我用sqlalchemy_mptt构建了一个多级分类项目,数据库用了sqlite.随着数据条数越来越多,写入速度逐渐变慢,一棵树的插入甚至需要1分钟,远远不能满足需求 分析思路: 1. 批 ... 
- 跨AppDomain通信
			public class AppDomainTest : MarshalByRefObject { public string TestMethodStr(string srcAppDomain) { ... 
- Linux -初体验笔记
			课堂笔记 鸟哥Linux私房菜 Linux 版本很多,内核都是一样的 计算机基础知识: 1.完整计算机系统:软件+硬件 硬件:物理装置本身,计算机的物质基础 软件:相对硬件而言, 程序:计算机完成一项 ... 
