批改状态:合格
老师批语:
从名字上来看,访问器依然是一个属性,只是一个伪装成方法的属性,是一对 get 和 set 函数。
//常规属性let user = {data:{name:'张三',age:18,},//获取年龄getAge() {return this.data.age;},//设置年龄setAge(age) {if (age > 0 && age <= 100){this.data.age = age;}else{console.log('非法数据');}},};console.log(user.getAge());// 18user.setAge(80);console.log(user.getAge());// 80
//访问器属性let user = {data:{name:'张三',age:18,},get age() {return this.data.age;},set age() {if (age > 0 && age <= 100){this.data.age = age;}else{console.log('非法数据');}},};console.log(user.age);// 18user.age = 120 ;console.log(user.age);// 非法数据
总结 : 访问器属性调用时,用的是属性访问的语法,同时在语法上更简洁,语义更清晰。例如:在项目中别人需要知道你写的对象终端饿属性值,就可以直接使用 get 来直接获取,不需要再去翻找获取询问,同时我们也可以限制种种条件来保护属性。
<body><ul class="list"><li class="item">item1</li><li class="item">item2</li><li class="item">item3</li><li class="item">item4</li><li class="item">item5</li></ul></body><script>//拿到所有的 .itemconst items = document.querySelectorAll('.item');//将所有的 .item变成红色const length = items;for (let i = 0 ;i < length; i++) {item[i].style.color = 'red';}</script>
//获取第一个元素const firstItem = document.querySelector('.item');//改变颜色firstItem.style.color = 'blue';//获取唯一元素console.log(document.body);console.log(document.head);console.log(document.title);//获取htmlconsole.log(document.documentElement);
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号