摘要:能否通過循環返回屬性。能否修改屬性的值。要修改屬性默認的特征,需要使用方法。訪問器屬性不能直接定義必須使用來定義使用訪問器屬性常見的方法即設置一個屬性的值會導致其他屬性發生變化。在上面的對象上面同一時間定義了個數據屬性和一個訪問器屬性。
數據屬性
數據屬性包含一個數據值的位置,在這個位置可以讀取和寫入值,數據屬性有4個特性:
Configurable 能否通過delete刪除屬性而重新定義,能否修改為訪問器屬性。默認true。
Enumerable 能否通過for-in 循環返回屬性。默認true。
Writable 能否修改屬性的值。默認true。
Value 包含這和屬性的數據值。讀取值得時候,從這個位置讀,寫的時候保存新值在這個位置。默認undefined。
要修改屬性默認的特征,需要使用Object.defineProperty()方法。
var person = {}; Object.defineProperty(person, "name", { writable : false, configurable : false, value : "jeck" }); console.log(person.name); //jeck person.name = "andy"; console.log(person.name); //jeck訪問器屬性
訪問器屬性不包含數據值,包含一對getter和setter函數,讀取訪問器屬性時,調用getter函數,寫入時,調用setter函數,其也包含4個特征:
Configurable 能否通過delete刪除屬性而重新定義,能否修改為數據屬性。默認true。
Enumerable 能否通過for-in 循環返回屬性。默認true。
Get 默認undefined。
Set 默認undefined。
訪問器屬性不能直接定義,必須使用Object.defineProperty()來定義
var book = { _year : 2004, edition : 1 }; Object.defineProperty(book, "year", { get : function(){ return this._year; }, set : function(newValue){ if (newValue > 2004){ this._year = newValue } } });
使用訪問器屬性常見的方法即設置一個屬性的值會導致其他屬性發生變化。
定義多個屬性通過Object.defineProperties()方法可以一次定義多個屬性,第一個參數為要添加和修改的對象,第二個為要添加或修改的屬性。
var book = {}; Object.defineProperties(book, { _year : { value : 2004 }, num : { value : 1 }, year : { get : function(){ return this._year; }, set : function(newValue){ if (newValue > 2004){ this._year = newValue; } } } })
在上面的book對象上面同一時間定義了2個數據屬性和一個訪問器屬性。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79352.html
摘要:類文件的結構文件是一組以位字節為基礎單位的二進制流,各個數據項目嚴格按照順序緊湊地排列在文件之中,中間沒有添加任何分隔符,這使得整個文件中存儲的內容幾乎全部是程序運行的必要數據,沒有空隙存在。 點擊進入我的博客 4.1 字節碼 平臺無關:Sun公司以及其他的虛擬機提供商發布了許多可以運行在各種不同平臺上的虛擬機,這些虛擬機都可以載入和執行同一種平臺無關的字節碼,從而實現了程序的一次編...
摘要:高程讀書筆記第六章理解對象創建自定義對象的方式有創建一個實例,然后為它添加屬性和方法。創建了自定義的構造函數之后,其原型對象默認只會取得屬性至于其他方法都是從繼承而來的。 JS高程讀書筆記--第六章 理解對象 創建自定義對象的方式有創建一個Object實例,然后為它添加屬性和方法。還可用創建對象字面量的方式 屬性類型 ECMAScript在定義只有內部采用的特性時,描述了屬性的各種特征...
摘要:使用屬性時選中的值為的值默認值屬性類型說明組合中的所有全部禁用默認值屬性類型說明組合中所有的尺寸默認值屬性類型說明類似這樣的數組,其中指定當前項是否選中,為當前項的文字描述默認值組件組件組件組件組件組件組件組件 寫在前邊 自己在業余時間開發的一套基于vue的UI框架,初衷是在平時的開發過程中,發現有很多業務利用現有的UI框架實現起來比較麻煩,另外自己也希望可以寫一套可以盡量多的滿足業務...
摘要:并且,在創建子類型的實例時,無法向超類型的構造函數傳遞參數。借用構造函數經典繼承在子類型構造函數的內部調用超類型構造函數。缺點是同樣具有構造函數模式創建對象的固有弊端構造函數中煩人方法函數對象重復創建。 創建對象的幾種方式 在邏輯上從低級到高級:工廠模式、構造函數模式、原型模式、組合模式。當然還有其他模式,但是這四者邏輯關系強,總結起來很有感覺。之所以和繼承一起分析,也是因為邏輯關系很...
摘要:聯合類型,指賦值的時候可以是聯合類型中的某一個。任意屬性允許創建對象的時候,定義接口中沒有的屬性。常見的類型推論,還提現在函數表達式中。 typeScript是什么? TypeScript 是 JavaScript 的一個超集,主要提供了類型系統和對 ES6 的支持 安裝typeScript npm install -g typeScript 安裝完成查看版本: tsc -v typ...
摘要:解除引用的最佳手段是將對象變量設置為。字面形式允許你在不需要使用操作符和構造函數顯示創建對象的情況下生成引用值。函數就是值可以像使用對象一樣使用函數因為函數本來就是對象,構造函數更加容易說明。 JavaScript(ES5)的面向對象精要 標簽: JavaScript 面向對象 讀書筆記 2016年1月16日-17日兩天看完了《JavaScript面向對象精要》(參加異步社區的活動送...
閱讀 3296·2021-11-24 09:39
閱讀 2805·2021-10-12 10:20
閱讀 1908·2019-08-30 15:53
閱讀 3076·2019-08-30 14:14
閱讀 2600·2019-08-29 15:36
閱讀 1121·2019-08-29 14:11
閱讀 1956·2019-08-26 13:51
閱讀 3408·2019-08-26 13:23