這篇文章主要講解了“怎么在JavaScript中使用getters和setter”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“怎么在JavaScript中使用getters和setter”吧!
創(chuàng)新互聯(lián)建站主營(yíng)延壽網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app開(kāi)發(fā)定制,延壽h5微信小程序定制開(kāi)發(fā)搭建,延壽網(wǎng)站營(yíng)銷推廣歡迎延壽等地區(qū)企業(yè)咨詢大多數(shù)面向?qū)ο蟮木幊陶Z(yǔ)言都存在getter和setter,包括JavaScript。它們是代碼構(gòu)造,可幫助開(kāi)發(fā)人員以安全的方式訪問(wèn)對(duì)象的屬性。使用getter,您可以從外部代碼訪問(wèn)(“獲取”)屬性的值,而setter允許您更改(“設(shè)置”)它們的值。我們將向您展示如何在JavaScript中創(chuàng)建getter和setter。
JavaScript對(duì)象可以具有多個(gè)屬性和存儲(chǔ)的靜態(tài)數(shù)據(jù)和動(dòng)態(tài)功能的方法。屬性是靜態(tài)鍵值對(duì),而方法是特定于對(duì)象的函數(shù)。
例如,Car.color可以是屬性,而Car.drive()可以是Car對(duì)象的方法。使用getter,您可以訪問(wèn)Car對(duì)象的color屬性,使用setter,您可以修改其值(例如,從藍(lán)色變?yōu)楹谏?/p>
使用getter和setter,您只能獲取和設(shè)置屬性的值,而不能獲取方法,因?yàn)榉椒ú皇庆o態(tài)的。
您可以通過(guò)三種不同的方式創(chuàng)建getter和setter:
使用默認(rèn)方法語(yǔ)法(getter和setter方法),
使用get和set關(guān)鍵字,
使用Object.defineProperty()方法。
Getters和Setters
Getters和Setters使你可以快速獲取或設(shè)置一個(gè)對(duì)象的數(shù)據(jù)。一般來(lái)說(shuō),一個(gè)對(duì)象擁有兩個(gè)方法,分別用于獲取和設(shè)置某個(gè)值,比如:
{
getValue: function(){
return this._value;
},
setValue: function(val){
this._value = val;
}
}
用這種方式寫(xiě)JavaScript的一個(gè)明顯的好處是:你可以用它來(lái)隱藏那些不想讓外界直接訪問(wèn)的屬性。
吸氣方法
獲取對(duì)象屬性的最簡(jiǎn)單方法是使用每個(gè)屬性的默認(rèn)方法語(yǔ)法定義getter。讓我們看一個(gè)如何使用這種技術(shù)創(chuàng)建getter的示例。該MYCAR對(duì)象有兩個(gè)屬性:顏色和制作。這是您使用對(duì)象文字創(chuàng)建它的方法:
var myCar = {
color:“blue”,
make:“Toyota”
};
如果需要,可以使用以下代碼直接訪問(wèn)顏色并創(chuàng)建屬性:
myCar.color;
// 藍(lán)色
myCar.make;
//豐田
盡管這種技術(shù)有效,但使用getter而不是直接調(diào)用屬性具有許多優(yōu)點(diǎn)。例如,您可以在檢索其值之前對(duì)屬性執(zhí)行操作或檢查(例如 if-else語(yǔ)句)。
關(guān)于get關(guān)鍵字最重要的一點(diǎn)是它定義了一個(gè)訪問(wèn)器屬性,而不是一個(gè)方法。因此,它不能與存儲(chǔ)其訪問(wèn)的值的數(shù)據(jù)屬性具有相同的名稱。在上面的代碼中,defColor 和defMake是數(shù)據(jù)屬性,而color和make是訪問(wèn)器屬性。
這也是為什么你需要使用在getter名稱之后不使用括號(hào)的屬性語(yǔ)法來(lái)調(diào)用getter的原因(例如myCar.color)。
由于舊版IE8不支持get關(guān)鍵字,因此如果您需要支持舊版瀏覽器,請(qǐng)使用getter方法。
感謝各位的閱讀,以上就是“怎么在JavaScript中使用getters和setter”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)怎么在JavaScript中使用getters和setter這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
分享名稱:怎么在JavaScript中使用getters和setter-創(chuàng)新互聯(lián)
本文地址:http://aaarwkj.com/article22/hogjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站收錄、定制開(kāi)發(fā)、企業(yè)建站、動(dòng)態(tài)網(wǎng)站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容