javascript:Object

來源:互聯網
上載者:User

Javascript的簡單類型包括數字、字串、布爾值、null值、undefined值。

其他的值都是對象。對象是可變的鍵控集合。數組、函數、Regex都是對象。

對象是屬性的容器,屬性都是名字和值對。名字可以是包括Null 字元串在內的全部字串。值可以是除了undefined之外的任何值。

javascript中的對象是無類別(class-free)的。

javascript包括一個原型鏈特性,允許對象繼承另一個對象的屬性。正確的使用能減少對象初始化的時間和記憶體損耗。

對象字面量:

var empty_object={};

var stoog ={"first-name":"Jerry",

           second_name:"howead"};

如果屬性名稱合法並且不是保留字,那麼名字的引號可以不寫。

檢索:

1、stoog["first-name"]

2、stoog.second_name

如果嘗試返回一個不存在的元素的值,那麼將返回一個undefined值。

||可以用來填充預設值

如:var middle = stoog["first-name"]||"(none)";

檢索undefined值將會導致TypeError異常,可以使用&&來避免錯誤

flight.equipment && flight.equipment.model    //undefined.

引用 reference

對象通過引用來傳遞,他們永遠不會被拷貝

原型 Prototype

當用Prototype編寫一個類後,當new一個新的object,瀏覽器會自動把prototype中的內容附加在object上。

反射 Reflection

typeof flight.number //'number' 該方法會檢查原型鏈。

flight.hasOwnProperty('number') //true .該方法不會檢查原型鏈

枚舉 Enumeration

for in 可以用來遍曆一個對象中所有的屬性名稱。會列出所有的屬性,包括函數和可能不關心的原型中的屬性。並且不按照順序取得。

所以可以用 typeof 或者hasOwnProperty來過濾不需要的值。

所以通常使用for而不是for in,可以得到我們想要的屬性,而不會得到原型鏈中的屬性,並且可以按順序取得。

刪除 Delete

它會刪除對象中包含的屬性,但是不觸及原型鏈中的任何對象。所以刪除對象的屬性可能會讓原型鏈中的屬性浮現出來。

減少全域變數汙染 Global Abatement

最小化使用全部變數的一個方法是在應用中只建立唯一一個全域變數,然後讓該變數稱為你的應用的容器。

閉包也是一個有效減少全域汙染的方法。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.