用Object.defineProperty添加属性的方法,给属性加get set方法。当我们操作属性的时候其实底层是在操作dom。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>数据驱动页面更新原理</title> </head> <body> <p> 你好,<a href="" id="name"></a></p> </body> </html> <script> var obj={} Object.defineProperty(obj,'name',{ set(inner){ document.getElementById('name').innerHTML=inner; }, get(){ return document.getElementById('name').innerHTML; } }) console.log(obj.name)//undefined obj.name='lizhao' console.log(obj.name)//lizhao </script>