關(guān)于get與set函數(shù)

概述:

每個(gè)對(duì)象的屬性,都有屬于它的屬性描述對(duì)象(下文稱為SB)。SB的作用就是來定義一個(gè)屬性的特性,比如這個(gè)屬性是否可寫,是否可遍歷等等。

本文主要涉及SB的get與set兩個(gè)屬性

屬性除了直接定義以外,還可以用存取器定義(get與set)。其中,存值函數(shù)稱為 setter,使用屬性描述對(duì)象的set屬性;取值函數(shù)稱為 getter,使用屬性描述對(duì)象的get屬性。

一個(gè)屬性的SB默認(rèn)沒有g(shù)et與set

SB

所以,看下文...

語法:

首先來看如何設(shè)置屬性的存取器,有三種方法:

①,直接在對(duì)象中定義

第一種

②,用Object.defineProperty()方法

第二種

③,如果想修改多個(gè)屬性,用Object.defineProperties()方法

第三種

使用:

get方法會(huì)在每次讀取屬性的時(shí)候調(diào)用,你讀取到的該屬性的值為get方法的返回值!?。?/b>

當(dāng)你每次給一個(gè)屬性賦值的時(shí)候調(diào)用set方法,set方法接受一個(gè)參數(shù),參數(shù)為你賦的值!?。?/b>

get

注意:

①,一旦給屬性設(shè)置了get或set,那么你再怎么給這個(gè)屬性賦值也是徒勞(除了給set函數(shù)傳參),每次讀取該屬性,返回的都是get函數(shù)的返回值!

②,因?yàn)橐坏┰O(shè)置了get或set,則SB的value屬性不可被定義,writable屬性為false。value代表屬性的值,writable代表是否可寫。如果強(qiáng)行修改SB,則報(bào)錯(cuò)?。?!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容