2014-04-07 70 views
1

通常,要訪問對象的屬性,請更改其值並接收結果我使用此語法。
何時使用訪問器屬性

<script type="text/javascript"> 
var student={ 
     lastExam:null, 
     setExam:function(es){ 
     this.lastExam=es 
     }, 
    getExam:function(){return this.lastExam}, 
    } 
    student.setExam('Math') 
    console.log(student.getExam()) 
</script> 

要獲得相同的結果,我可以使用此代碼的訪問器屬性。

<script type="text/javascript"> 
var student={ 
    lastExam:null, 
    set Exam(es){ 
     this.lastExam=es 
    }, 
    get Exam(){return this.lastExam}, 
    } 
    student.Exam='Math' 
    console.log(student.Exam) 
</script> 

雖然我讀過關於這個問題的一些帖子(herehere ECC ..)我還是不明白一些概念。
我的問題是:
何時使用解決方案或其他更方便。
使用這兩種解決方案的含義是什麼?

回答

0

第一個例子可以在ECMAScript中3和5都被執行,第二個只能在支持ECMAScript的瀏覽器中exectued 5.

Accesor性能是相當花哨,以及他們在這種情況下工作得更好,但有些用戶可能無法在瀏覽器中運行此代碼。 第一個例子隨處可見,儘管使用起來更乏味。

您會在那裏聽到「accesor屬性只應由製作圖書館的人使用」。當然這不是真的,我們都可以使用accesor屬性,但是這樣做有一些小的兼容性問題。

+0

:感謝您的關注 – Devima