ui的含义网站建设,前端工程师考证报名,网推公司,怎么查询网站建设时间defineProperty
Object.defineProperty():方法会在对象上直接定义个新的属性#xff0c;或者修改现有的属性#xff0c;并返回此对象
let obj {}
//与我们使用 obj.name zhangsna 效果一样 但是用defineProperty定义的属性无法改变 或者删除
Object.defineProperty(obj,n…defineProperty
Object.defineProperty():方法会在对象上直接定义个新的属性或者修改现有的属性并返回此对象
let obj {}
//与我们使用 obj.name zhangsna 效果一样 但是用defineProperty定义的属性无法改变 或者删除
Object.defineProperty(obj,name,{value:zhangsan
})
console.log(obj);let obj {}
Object.defineProperty(obj,name,{value:zhangsan
})
obj.name lisi
delete obj.name
console.log(obj);不论修改还是删除 结果还是张三 当我们想要修改或者删除属性需要对其进行配置 configurabletrue|false 默认为false当值为true时属性可以被删除 writabletrue|false 默认为false 当值为true时属性可以被修改
let obj {}
Object.defineProperty(obj,name,{value:zhangsan,configurable:true,writable:true
})
obj.name lisi
console.log(obj);
//删除属性
let obj {}
Object.defineProperty(obj,name,{value:zhangsan,configurable:true,writable:true
})
obj.name lisi
delete obj.name
console.log(obj);修改属性 删除后 此外配置还有 enumerabletrue|false 该属性为true对象就可以枚举属性影响的有 for…in 遍历自身属性和可枚举的属性 object.keys 返回自身所有可枚举的属性的键名 json.strings 字符串化自身可枚举的属性
get和set 是函数 当使用get 和set 不能设置 writable 和configurable
let obj {}
Object.defineProperty(obj,name,{configurable:true,enumerable:true,get(){return name},set(val){name val}
})
obj.name lisiconsole.log(obj);