美文网首页
关于get与set函数

关于get与set函数

作者: 印第安老斑鸠_333 | 来源:发表于2019-04-19 13:57 被阅读0次

概述:

每个对象的属性,都有属于它的属性描述对象(下文称为SB)。SB的作用就是来定义一个属性的特性,比如这个属性是否可写是否可遍历等等。

本文主要涉及SB的get与set两个属性

属性除了直接定义以外,还可以用存取器定义(get与set)。其中,存值函数称为 setter,使用属性描述对象的set属性;取值函数称为 getter,使用属性描述对象的get属性。

一个属性的SB默认没有get与set

SB

所以,看下文...

语法:

首先来看如何设置属性的存取器,有三种方法:

①,直接在对象中定义

第一种

②,用Object.defineProperty()方法

第二种

③,如果想修改多个属性,用Object.defineProperties()方法

第三种

使用:

get方法会在每次读取属性的时候调用,你读取到的该属性的值为get方法的返回值!!!

当你每次给一个属性赋值的时候调用set方法,set方法接受一个参数,参数为你赋的值!!!

get

注意:

①,一旦给属性设置了get或set,那么你再怎么给这个属性赋值也是徒劳(除了给set函数传参),每次读取该属性,返回的都是get函数的返回值!

②,因为一旦设置了get或set,则SB的value属性不可被定义,writable属性为false。value代表属性的值,writable代表是否可写。如果强行修改SB,则报错!!!

相关文章

网友评论

      本文标题:关于get与set函数

      本文链接:https://www.haomeiwen.com/subject/egsqgqtx.html