js对象添加属性 js如何删除对象的属性

js如何删除对象的属性,js对象添加属性 。小编来告诉你更多相关信息 。
1. 属性存取器设置一个对象的o属性,不可以大于x 。
let obj = {

js对象添加属性 js如何删除对象的属性

文章插图
js对象添加属性 js如何删除对象的属性

文章插图
y:null,
set o(newVlaue){//存是有一个默认值的就是你要存入的值
returnthis.x += newValue
get o(){
return this.y
obj.o = 2
【js对象添加属性 js如何删除对象的属性】console.log(obj.x)// => 3
存取器可以用于返回一些你需要处理加工的数据 , 比如平方,相反值,等等
2. 查询属性js一个有很多方法可以来查询对象是否拥有某个属性 , 我这里介绍几个常用的方法
let y = {a:2};
let obj = Object.create(a);
obj.b = 5;
in (注意不要和 for in 混合)左侧是属性右侧对象
consoconsole.log(\”a\” in obj);// true
consoconsole.log(\”b\” in obj);// true
consoconsole.log(\”toString\” in obj);// true
hasOwnProperty() 查询自身的属性 , 对继承的返回false
consoconsole.log(obj.hasOwnProperty(\”a\”));// false 继承y对象
consoconsole.log(obj.hasOwnProperty(\”b\”));// true
consoconsole.log(obj.hasOwnProperty(\”toString\”));// false 继承Object
propertyIsEnumerable() 在hasOwnProperty()上增加了 , 必须是可枚举的属性\\
consoconsole.log(obj.propertyIsEnumerable(\”a\”));// false 继承来的
consoconsole.log(obj.propertyIsEnumerable(\”b\”));// true
consoconsole.log(obj.propertyIsEnumerable(\”toString\”));// false 不可枚举
3. 属性特性像set get这些就是属性特有的属性 , 特性有 值(value) 枚举性(eunmerable) 可写性(wirteable) 配置性(configable)
查询属性的特性状态 (只能是当前对象属性 , 继承的不
Object.getOwnPropertyDescriptor(obj, property)
let obj = {
name:\’lao wang\’,
message:\’hello\’
let property = Object.getOwnPropertyDescriptor(obj,\”name\”);
console.log(property);/*{
configurable: true
enumerable: true
value: \”lao wang\”
writable: true
配置性:可以删除修改; 可枚举:for in 可以遍历出来的属性可写:可以修改值
修改对象属性特性 Object.defineProperty(obj,property,setting);
Object.defineProperty(obj,\”name\”,{
configurable: true
enumerable: false //不可枚举
value: \”lao wang\”
writable: false //改变可写性
obj.name = \”lao li\”;// 在严格模式下会保错
console.log(obj.name);
console.log(obj.propertyIsEnumerable(\”name\”)); // false

    推荐阅读