ES5 defineProperty 和 ES6 proxy 实现数据劫持
mvvm以数据驱动,其实使用了数据劫持的方式对数据双向更新 先来了解defineProperty对数据劫持 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> </body> <script> let myobj = {}; Object.defineProperty(myobj,"name",{ configurable:true,//configurable 给的说明是 如果为 false , 那么对象属性不可以修改, 不可以删除. true则相反 /*enumerable可枚举; 设置为true后可以用这4种方式去操作属性 1. for(let i in myobj){ console.log(i); } 2. Object.keys(); 3. JSON.stringify 4. Object.assign */ enumerable:true, get(){/