1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- // 深层监听
- let object = {
- a: "123",
- c: 1,
- d: ['a', { e: 45, f: true }],
- g: false
- }
- function observeKey (obj, key) {
- let value = obj[key];
- Object.defineProperty(obj, key, {
- get () {
- console.log("get")
- return value
- },
- set (newValue) {
- console.log("set")
- value = newValue
- }
- })
- }
- // 浅层监听
- // function observeKey (obj, key) {
- // let value = obj[key];
- // Object.defineProperty(obj, key, {
- // get () {
- // console.log("读取属性", value)
- // return value
- // },
- // set (newValue) {
- // console.log("设置属性", newValue)
- // value = newValue
- // }
- // })
- // }
- // let obj = { a: 1, b: 2 };
- // observeKey(obj, 'a');
- // console.log(obj)
- // console.log(obj.a);
- // obj.a = 250
- // console.log(obj.a, obj)
- // let _obj = { c: 1, d: 2 };
- // let proxy = new Proxy(_obj, {
- // get (target, key) {
- // return "应该是" + target[key]
- // },
- // set (target, key, value) {
- // target[key] = value
- // }
- // })
- // console.log(_obj, _obj.c)
- // console.log(proxy, proxy.c);
- // _obj.a = 2;
- // proxy.b = 3;
- // console.log(proxy, _obj)
|