原生js 对象属性监听,对象重写,defineProperty getter setter
2018-01-23 09:52
751 查看
const param = { name: "bottle", age: 23 } for(let item in param){ let val = param[item]; if(param.hasOwnProperty(item)){//判断是否为自有属性 Object.defineProperty(param, item, {//属性重写(或者添加属性) get(){ return val; }, set(x){ console.log("哈哈哈---老子监听到了!") val = x; } }) } } console.log(param.age);//23 param.age = 108;//哈哈哈---老子监听到了! console.log(param.age)//108
相关文章推荐
- 利用__define_setter__和 __define_getter__ 定义动态的对象属性
- get set操作对象属性(getter,setter)js
- Object.defineProperty 监听对象属性变化
- property生成属性的时候,同时重写setter与getter方法,那么实例变量不自动生成
- 浅谈 JS 对象添加 getter与 setter 的5种方法以及如何让对象属性不可配置或枚举
- vue源码学习之Object.defineProperty对象属性监听
- js对象,defineProperty,对象定义属性
- js对象属性的getter和setter
- Getter/Setter之深入浅出,对象属性监听
- 【js对象属性的getter和setter】
- __defineGetter__,__defineSetter__和Object.defineProperty
- 关于如何利用原生js动态给一个空对象添加属性以及属性值
- AS 1.0--在 ActionScript 1.0 中向对象中添加 getter/setter 属性
- JavaScript对象属性的getter和setter
- JavaScript 操作对象属性(设置属性, setter/getter, 序列化)
- vue.js计算属性(getter | setter)
- js 定义属性 以及 getter 和 setter
- ECMAScript5中的对象存取器属性:getter和setter介绍
- js属性对象的hasOwnProperty方法
- vue.js 中如何监听watch:{}对象中的某个属性的变化,做相应的操作