Vue中的Object.defineProperty怎么用
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇"Vue中的Object.defineProperty怎么用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获
千家信息网最后更新 2025年01月18日Vue中的Object.defineProperty怎么用
这篇"Vue中的Object.defineProperty怎么用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Vue中的Object.defineProperty怎么用"文章吧。
Object.defineProperty理解
定义:Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。
一、直接添加
let person = { name:'张三', sex:'男',}Object.defineProperty(person,'age',{ value:18, enumerable:true,//控制属性是否可以枚举,默认值是false,当该属性的值为 true 时,该属性才会出现在对象的枚举属性中。 writable:true,//控制属性是否可以被修改,默认值是false,当该属性的值为 true 时,才能被赋值运算符改变。 configurable:true,//控制属性是否可以被删除,默认值是false,当该属性的值为 true 时,该属性能从对应的对象上被删除。 })console.log(person);
二、使用getter、setter
let age_number = 18;let person = { name:'张三', sex:'男',}Object.defineProperty(person,'age',{ //value:18, //enumerable:true,//控制属性是否可以枚举,默认值是false,当该属性的值为 true 时,该属性才会出现在对象的枚举属性中。 //writable:true,//控制属性是否可以被修改,默认值是false,当该属性的值为 true 时,才能被赋值运算符改变。 //configurable:true,//控制属性是否可以被删除,默认值是false,当该属性的值为 true 时,该属性能从对应的对象上被删除。 get(){ console.log("读取age属性"); return age_number; }, set(value) { console.log("修改age的值"); age_number = value; } })console.log(person);
需要Object.defineProperty()注意点
1.用Object.defineProperty方法创建一个新属性时,如果不指定configurabel,enumberable,writable特性的默认值都是false,修改已定义的属性特性无限制。
2.Configurable性定义为不可配置就不能把它变回可配置,此时调用Object.defineProperty修改除writable之外的特性都会报错。
3.模拟访问和设置的行为:想要访问器属性模拟默认行为的话,必须的在里面新添一个属性不然会造成循环引用
var obj={a:1}; Object.defineProperty(obj,"a",{get:function(){return this.a;}, set:function(val){this.a=val}});obj.a;// Maximum call stack size exceeded
会造成循环引用,狂call不止
person.a → get.call(person) → this.a → person.a → get.call(person) → this.a......
以上就是关于"Vue中的Object.defineProperty怎么用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
属性
对象
控制
内容
特性
文章
方法
知识
篇文章
行为
运算符
张三
循环
运算
配置
价值
大部分
就是
无限制
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
浙江gps网络时钟服务器搭建
惠普服务器管理口默认ip
小pc软件开发
戴尔服务器如何用双cpu
软件开发结合测试测试方法
app软件开发哪家比较好
杨浦区常规网络技术哪家强
实惠的软件开发技术方案
直接流数据库中
网络安全方案或改进措施
plsql连不上数据库
网络技术pt实验分析
青阳租房软件开发
软件开发课程语言培训
网络安全和信息化建议
语音软件开发商
x79是服务器主板吗
信用卡激活服务器错误
各大网络安全大学排名
黑服务器挖矿
网络安全的结构层次包
华为网络技术的前景
中国台湾it软件开发多少钱
网络安全警告怎么关闭
通讯软件开发有多少钱一个月
传奇魔法盾添加数据库
徐州市网络安全宣传
智能车库管理数据库mysql
主机网络安全策略的优势
使用sql语句创建销售数据库