《JavaScript 語言精粹》 學習筆記 —— 第三章 對象

來源:互聯網
上載者:User

第三章 對象

3.1、JavaScript簡單的類型包括數字、字串、布爾值(true和false)、null值和undefined值。其他所有的值都是對象。
3.2、JavaScript中的對象是可變鍵控集合。在JavaScript中,數組是對象,函數是對象,Regex是對象,對象也是對象。
3.3、對象是屬性的容器,每個屬性都擁有名字和值。屬性的名字可以是包括Null 字元串在內的任一字元串。屬性值可以是除undefined值之外的任何值。
3.4、檢索對象中包含的值,可以用[],也可以用.(前提是屬性字串是一個常數,且是一個合法的JavaScript標識符並非保留字),優先考慮用.標記法,因為它可讀性更好。

var Person = {"first-name" : "Zhang","middle-name" : "Yi","last-name" : "Mou",'age' : 60,}Person["first-name"]; // ZhangPerson.age; // 60

3.5、|| 運算子可以用來填充預設值:

var middleName = Person["middle-name"] || "none";var tel = Person.tel || "unknown";

3.7、&& 運算子可以用來避免因嘗試檢索一個undefined值而導致的TypeError異常。

Person.tel // undefinedPerson.tel.number// throw "TypeError"Person.tel && Person.tel.number // undefined

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

var a = {}, b = {}, c = {}; // a、b、c每個都引用一個不同的Null 物件a = b = c = {}; // a、b、c都引用同一個Null 物件

3.9、每個對象都能串連到一個原型對象prototype,並且它可以從中繼承屬性。所有通過對象字面量建立的對象都連結到Object.prototype這個JavaScript中標準的對象。
3.10、原型串連在更新的時候不起作用,對某個對象作出改變時,不會觸及到該對象的原型。
3.11、原型串連只有在檢索值的時候才能被用到。如果我們嘗試去擷取對象的某個值,且該對象沒有此屬性名稱,那麼JavaScript會嘗試著從其原型對象中擷取屬性值。如果那個原型對象也沒有該屬性值,那麼再從它的原型中尋找,依此類推,知道該過程最後達到終點Object.prototype。如果想要的屬性完全不存在於原型鏈中,那麼結果就是undefined值。這個過程成為“委託”
3.12、hasOwnProperty()方法用來檢索對象自身專屬的屬性,存在返回true,不會檢查原型鏈。
3.13、for in語句可遍曆對象中的所有屬性名稱,包括原型鏈。可以使用hasOwnProperty方法或typeof方法來作過濾器。
3.14、delete運算子用來刪除對象的屬性,但不會觸及到原型鏈中的任何對象。
3.15、最小化使用全域變數的一個方法是在你的應用中只建立唯一一個全域變數:

var MYAPP = {};

該變數此時變成了應用的容器:

MYAPP.Person = { ... };MyApp.Weather = { ... };

(完)

轉載請註明出處:http://blog.csdn.net/xxd851116/article/details/7664502

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.