第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

對(duì)象里面的屬性名為_(kāi)year,使用defineProperty()方法的時(shí)候用的卻是“year”,十分疑惑

對(duì)象里面的屬性名為_(kāi)year,使用defineProperty()方法的時(shí)候用的卻是“year”,十分疑惑

小佳佳QAQ 2015-12-17 10:46:24
代碼內(nèi)容出自《JavaScript高級(jí)程序設(shè)計(jì)(第三版)》141頁(yè),講的是面向?qū)ο蟮某绦蛟O(shè)計(jì)
查看完整描述

3 回答

?
小佳佳QAQ

TA貢獻(xiàn)8條經(jīng)驗(yàn) 獲得超19個(gè)贊

書(shū)中有說(shuō)明的(以下是原文):

訪問(wèn)器屬性不包含數(shù)據(jù)值;它們包含一對(duì)兒 getter 和 setter 函數(shù)(不過(guò),這兩個(gè)函數(shù)都不是必需的)。

在讀取訪問(wèn)器屬性時(shí),會(huì)調(diào)用 getter 函數(shù),這個(gè)函數(shù)負(fù)責(zé)返回有效的值;在寫(xiě)入訪問(wèn)器屬性時(shí),會(huì)調(diào)用

setter 函數(shù)并傳入新值,這個(gè)函數(shù)負(fù)責(zé)決定如何處理數(shù)據(jù)。

訪問(wèn)器屬性不包含數(shù)據(jù)值;它們包含一對(duì)兒 getter 和 setter 函數(shù)(不過(guò),這兩個(gè)函數(shù)都不是必需的)。

在讀取訪問(wèn)器屬性時(shí),會(huì)調(diào)用 getter 函數(shù),這個(gè)函數(shù)負(fù)責(zé)返回有效的值;在寫(xiě)入訪問(wèn)器屬性時(shí),會(huì)調(diào)用

setter 函數(shù)并傳入新值,這個(gè)函數(shù)負(fù)責(zé)決定如何處理數(shù)據(jù)。

訪問(wèn)器屬性不能直接定義,必須使用 Object.defineProperty() 來(lái)定義。

_year 前面的下劃線是一種常用的記號(hào),用于表示只能通過(guò)對(duì)象方法訪問(wèn)的屬性。而訪問(wèn)器屬性 year 則包含一個(gè)

getter 函數(shù)和一個(gè) setter 函數(shù)。getter 函數(shù)返回 _year 的值,setter 函數(shù)通過(guò)計(jì)算來(lái)確定正確的版本。

我的理解:

_year是一個(gè)只能通過(guò)對(duì)象方法訪問(wèn)的內(nèi)部屬性,用于存儲(chǔ)對(duì)象方法需要用到的值。

而訪問(wèn)器屬性year通過(guò)Object.defineProperty() 來(lái)定義,本身不包含數(shù)據(jù)值,使用get和set讀取和設(shè)置對(duì)象中的屬性值,返回值。(year沒(méi)有在對(duì)象字面量中直接體現(xiàn))

_year≠year,_year是普通的屬性,只是前面添加了"_"表示其不能直接訪問(wèn);year是訪問(wèn)器屬性,本身就沒(méi)有數(shù)值,主要的工作是定義出來(lái)操作_year和edition的值,它也可以訪問(wèn)_year并直接返回_year存儲(chǔ)的內(nèi)容,比如它的get方法。

另外,書(shū)中的定義多個(gè)屬性O(shè)bject.defineProperties()恰好可以解釋_year和year是兩個(gè)不同的屬性,書(shū)中代碼如下:

var?book?=?{};
Object.defineProperties(book,?{
????_year:?{
????????value:?2004
????},
????edition:?{
????????value:?1
????},
????year:?{
????????get:?function(){
????????????return?this._year;
????????},
????????set:?function(newValue){
????????????if?(newValue?>?2004)?{
????????????????this._year?=?newValue;
????????????????this.edition?+=?newValue?-?2004;
????????????}
????????}
????}
});

以上代碼在 book 對(duì)象上定義了兩個(gè)數(shù)據(jù)屬性( _year 和 edition )和一個(gè)訪問(wèn)器屬性( year )。

最終的對(duì)象與上一節(jié)中定義的對(duì)象相同。唯一的區(qū)別是這里的屬性都是在同一時(shí)間創(chuàng)建的。

以上內(nèi)容僅供參考。如有理解錯(cuò)誤,請(qǐng)指出,不勝感激!

查看完整回答
1 反對(duì) 回復(fù) 2016-11-21
  • 葉微白_
    葉微白_
    對(duì)的,就是這樣,這個(gè)例子,是想說(shuō)明對(duì)象內(nèi)部,當(dāng)賦值,修改值的時(shí)候,會(huì)發(fā)生~
?
李曉健

TA貢獻(xiàn)1036條經(jīng)驗(yàn) 獲得超461個(gè)贊

他這個(gè)_year 只是在內(nèi)部用的,其實(shí)對(duì)外用的是year ?他這樣做就相當(dāng)于給 book又添加了一個(gè)year屬性嘛 只不過(guò)你在取year值時(shí),他內(nèi)部去取的是_year的值,賦值時(shí)也是一樣,你賦給的是year ,他在內(nèi)部又把這個(gè)值賦給了_year

查看完整回答
反對(duì) 回復(fù) 2015-12-17
?
慕粉4229183

TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超1個(gè)贊

? ?123

查看完整回答
反對(duì) 回復(fù) 2016-11-17
  • 3 回答
  • 0 關(guān)注
  • 1928 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)