<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>回顾Object.defineProperty方法</title> <script type="text/javascript" src="../vue.js"></script> </head> <body> <div id="root"> </div> <script type="text/javascript"> Vue.config.productionTip = false let number = 18 let person = { name: 'Roger', sex: 'male', // age: '18' } Object.defineProperty(person, 'age', { // value: '18', // enumerable: true, // 控制是否可迭代遍历 // writable: true, // 控制是否可以修改 // configurable: true //控制是否可以删除 // get: function () 用于当调用的时候再获取值,可以简写为 get() {} get: function () { console.log('获取age') return number }, // set function() 用于修改数据是调用 可以简写 set() set(value) { console.log('新的值为', value) number = value } }) console.log(Object.keys(person)) console.log(Object.keys(person).length) for (let key in person) { console.log(key) console.log('@', person[key]) } console.log(person) </script> </body> </html>