标签:Vue Object 描述符 监视 defineProperty 原理 bValue true newValue
Vue监视数据的原理实现
1.前置知识
有一个方法 Object.defineProperty(obj, descriptors),允许一次定义多个属性。
Object.defineProperty(obj, { prop1: descriptor1, prop2: descriptor2 // ... });
这个方法允许精确的添加和修改对象的蜀绣,通常会和Object.keys()方法联合使用。Object.defineProperty()有两种访问描述符,一种是数据描述符,就是具有值的属性,一种是访问器描述符,是由一对 getter-setter 函数描述的属性。
var o = {};
Object.defineProperty(o, 'a', {
value: 37,
writable: true,
enumerable: true,
configurable: true
});//数据描述符
var bValue = 38;
Object.defineProperty(o, 'b', {
// Using shorthand method names (ES2015 feature).
// This is equivalent to:
// get: function() { return bValue; },
// set: function(newValue) { bValue = newValue; },
get() { return bValue; },
set(newValue) { bValue = newValue; },
enumerable: true,
configurable: true
});//访问器描述符
标签:Vue,Object,描述符,监视,defineProperty,原理,bValue,true,newValue 来源: https://www.cnblogs.com/BobTwain/p/16255026.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。