<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./lib/vue.js"></script>
</head>
<body>
<div id="root">
</div>
<script>
Vue.config.productionTip = false;
let number = 18;
const person = {
name: 'lisi',
sex: 'nan'
};
Object.defineProperty(person, 'age', {
// value: 18,
// enumerable: true, //控制属性是否可以被枚举,默认是false
// writable: true, //控制属性值是否可以被修改,默认是false
// configurable: true, //控制属性是否可以被删除,默认是false
get() { //当有人读取person对象的age属性时,get函数(getter)会被调用,且返回值就是age的值
console.log('有人读取age属性');
return number;
},
set(value) { //有人修改person对象的age属性时,set函数(setter)会被调用,且会收到修改的具体值
console.log('有人修改了age属性', value);
number = value;
}
});
console.log(Object.keys(person));
Vue.config.productionTip = false;
const vm = new Vue({
data() {
return {
}
},
});
vm.$mount('#root');
</script>
</body>
</html>
definproperty方法
最新推荐文章于 2023-02-14 16:59:02 发布