我在整理javascript高級程序設計的筆記的時候看到面向對象設計那章,講到對象屬性分為數(shù)據(jù)屬性和訪問器屬性,我們平時用的js對象90%以上都只是用到數(shù)據(jù)屬性;我們向來講解下數(shù)據(jù)屬性和訪問器屬性到底是什么?
- 數(shù)據(jù)屬性:數(shù)據(jù)屬性包含一個數(shù)據(jù)值的位置,在這個位置可以讀取和寫入值.
-
訪問器屬性:訪問器屬性不包含數(shù)據(jù)值;他們包含一對getter和setter函數(shù)在讀取訪問器屬性時,會調用getter函數(shù),這個函數(shù)負責返回有效的值,在寫入訪問器屬性時,會調用setter函數(shù)并傳入新值.
這里介紹的重點是訪問器屬性,設置對象的訪問器屬性只能用es5的Object.defineProrerty()方法,如下例子:
var book=