JavaScript的代理模式

 1 let MingXing = {
 2     name: 'XiaoZhang',
 3     age: 18,
 4     phone: 12311111111,
 5     price: 10
 6 }
 7 let agent = new Proxy(MingXing,{
 8     get: function(target,key) {
 9         if (key == 'phone') {
10             return 11111111111
11         }
12         if (key == 'price') {
13             return 10
14         }
15         return target[key]
16     },
17     set: function(target, key, value) {
18         if (key == 'cprice') {
19             if (value < 8) {
20                 throw new Error('价格太低了')
21             } else {
22                 return target[key] = value
23             }
24         }
25     }
26 }) 
27 console.log(agent.name)
28 console.log(agent.age)
29 console.log(agent.phone)
30 console.log(agent.price)
31 agent.cprice = 1111
32 console.log(agent.cprice)

 

posted @ 2020-06-04 15:43  渐行渐远9527  阅读(158)  评论(0)    收藏  举报