<!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>
// - get 是一种获得属性值的方法,
// set是一种设置属性值的方法
// - get 负责查询值,它不带任何参数
// set 则负责设置键值,值是以参数的形式传递
{
// let obj ={
// name:"小庄",
// age:22
// }
// //数据劫持,需要在获取对象的同时,做一些其他的事情
// console.log(obj.name);
// //需要设置对象的属性的时候,做一些其他事情
// obj.name = "大涛",
// obj.age = "越来越好"
let obj = {
$name : "爱裤苦苦" , //$ 表重点 name重命名也不要覆盖(没有私有的意思)
get name(){ //get获取对象属性
console.log("我被获取到了")
return this.$name
},
set name (newVal){ //设置name
console.log("我是新的数据"+ newVal);
this.$name = newVal;
}
}
console.log(obj.name); //调用数据已经被触发 可以获取到get name(里面也有输出)
// 但35行输出是值为undefined现在只剩get方法 有重名覆盖的意思
//通过 return this.name 来获取
console.log(obj)
obj.name = "爱笑的";//设置name为 爱笑的
console.log(obj.name) //都能获取到
}
</script>
</body>
</html>
数据劫持
最新推荐文章于 2024-02-13 15:10:14 发布