本文主要涉及SB的 get与set两个属性 。
属性除了直接定义以外,还可以用 存取器 定义(get与set)。其中,存值函数 称为 setter,使用属性描述对象的set属性;取值函数 称为 getter,使用属性描述对象的get属性。
一个属性的SB默认没有get与set
所以,看下文...
首先来看如何设置属性的存取器,有 三种 方法:
①,直接在对象中定义
②,用 Object.defineProperty() 方法
③,如果想修改多个属性,用 Object.defineProperties() 方法
get方法会在每次读取属性的时候调用,你读取到的该属性的值为get方法的返回值!!!
当你每次给一个属性赋值的时候调用set方法,set方法接受一个参数,参数为你赋的值!!!
①,一旦给属性设置了get或set,那么你再怎么给这个属性赋值也是徒劳(除了给set函数传参),每次读取该属性,返回的都是get函数的返回值!
②,因为一旦设置了get或set,则SB的value属性不可被定义,writable属性为false。value代表属性的值,writable代表是否可写。如果强行修改SB,则报错!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)