17.事件代理.html 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <div id="app">
  10. <!-- 数据代理:
  11. Object.defineProperty()
  12. 通过一个对象可以去代理另一个对象 并且可以修改其属性
  13. -->
  14. </div>
  15. <script src="./vue.js"></script>
  16. <script>
  17. // var app = new Vue({
  18. // }).$mount("#app")
  19. let obj1 = {
  20. name:"孙悟空",
  21. age: 10,
  22. sex: '男'
  23. }
  24. //Object.defineProperty(代理对象,属性,{value:新的值})
  25. // Object.defineProperty(obj1,"name",{
  26. // value:"猪八戒"
  27. // })
  28. // Object.defineProperty(obj1,"age",{
  29. // value:33
  30. // })
  31. let num= 20;
  32. Object.defineProperty(obj1,'age',{
  33. get() {
  34. console.log("读取")
  35. return num;
  36. },
  37. set(value) {
  38. console.log(value,"设置");
  39. num = value;
  40. }
  41. })
  42. console.log(obj1)
  43. </script>
  44. </body>
  45. </html>