40 lines
1.2 KiB
HTML
40 lines
1.2 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html lang="en">
|
|||
|
<head>
|
|||
|
<meta charset="UTF-8">
|
|||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|||
|
<title>Document</title>
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<script type="text/javascript">
|
|||
|
let number = 18
|
|||
|
let person = {
|
|||
|
name:'Cori',
|
|||
|
sex:'male',
|
|||
|
// age:18
|
|||
|
}
|
|||
|
|
|||
|
Object.defineProperty(person, 'age', {
|
|||
|
// value:18,
|
|||
|
// enumerable:true, //控制属性是否可以枚举,默认值为false
|
|||
|
// writable:true, //控制属性是否可以被修改,默认值为false
|
|||
|
// configurable:true, //控制属性是否可以被删除,默认值为false
|
|||
|
|
|||
|
// 当有人读取person的age属性时,get函数(getter)就会被调用,且返回值就是age的值
|
|||
|
get:function(){
|
|||
|
console.log('有人读取age属性了')
|
|||
|
return number
|
|||
|
},
|
|||
|
|
|||
|
// 当有人修改person的age属性时,set函数(setter)就会被调用,且会收到修改的具体值
|
|||
|
set(value){
|
|||
|
console.log('有人修改age属性了,且值是', value)
|
|||
|
number = value
|
|||
|
}
|
|||
|
|
|||
|
})
|
|||
|
|
|||
|
console.log(person)
|
|||
|
</script>
|
|||
|
</body>
|
|||
|
</html>
|