摘要:對象字面量定義一個空對象這里的空指的是其自身屬性為空,對象繼承了的屬性和方法添加屬性方法檢索完全刪除屬性方法引用對象通過引用來傳遞,他們永遠不會被復制因為和指向同一個對象,所以結果的結果為每個都引用不同的空對象引用同一個空對象原型每個對象都
對象字面量
//定義一個空對象,這里的空指的是其自身屬性為空,dog對象繼承了Object.prototype的屬性和方法 var dog={} //添加屬性/方法 dog.name="Beijing" dog.getName= function(){ return this.name } //檢索 dog["name"] //Beijing dog.name //Beijing //完全刪除屬性/方法 delete dog.name引用
對象通過引用來傳遞,他們永遠不會被復制
var Bob = dog Bob.footers = 4 var f = dog.footers // 因為Bob 和f指向同一個對象,所以結果f 的結果為4 var a={}, b={}, c={} //a,b,c每個都引用不同的空對象 a = b =c ={} //a,b,c引用同一個空對象原型
每個對象都連接到一個原型,并可以從中繼承屬性,所有字面量創建的對象都連接到Object.prototype
反射
我們經常用typeof檢查對象的屬性,但typeof對原型鏈的對像也會進行檢查,可以使用hasOwnProperty,他只檢測對象的自有屬性,不會檢查原型鏈上的屬性
man.hasOwnProperty("legs") //true man.hasOwnProperty("constructor") //false
刪除
delete運算符可以刪除對象的自身屬性,而不會對原型鏈上的對象有影響,有時delete對象上的屬性會導致原型鏈上的屬性溢出來
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/97344.html
摘要:語言精粹讀書筆記第四章函數函數字面量函數字面量包含個部分第一部分,保留字第二部分,函數名,它可以被忽略。這個超級延遲綁定使得函數對高度復用。構造器調用模式一個函數,如果創建的目的就是希望結合的前綴來調用,那它就被稱為構造器構造。 《JavaScript 語言精粹》 讀書筆記 第四章 函數 Functions 函數字面量 函數字面量包含4個部分: 第一部分, 保留字 function...
摘要:對象被傳遞到從句中被捕獲。一些語言提供了尾遞歸優化。這意味著如果一個函數返回自身遞歸調用的結果,那么調用的過程會被替換為一個循環,可以顯著提高速度。構建一個帶尾遞歸的函數。語言精粹讀書筆記函數 第四章 函數 Functions (二) 參數 arguments arguments數組: 函數可以通過此參數訪問所有它被調用時傳遞給它的參數列表,包括哪些沒有被分配給函數聲明時定義的形式參數...
摘要:使用構造器有個嚴重的危害,如果在調用構造器函數的時候忘記使用前綴,不僅不會綁定到新對象,還會污染全局變量原型模式原型模式中,我們采用對象來繼承。 構造器調用模式 當一個函數對象被創建時,Function構造器會運行類似這樣的代碼: this.prototype = {constructor: this} new一個函數事會發生: Function.method(new, functio...
摘要:對之前看高級程序設計時沒有注意到的一些知識點,結合本書做以補充語法注釋源于的型既可以出現在字符串字面量中,也可能出現在正則表達式字面量中,如故一般建議使用型注釋保留字語句變量參數屬性名運算符和標記等標識符不允許使用保留字,此外在對象字面量中 對之前看《JavaScript高級程序設計》時沒有注意到的一些知識點,結合本書做以補充 語法 注釋 源于PL/I的/* */型既可以出現在字符串字...
摘要:但采用構造器調用模式,即是使用了前綴去調用一個函數時,函數執行的方式會改變。對象包含構造器需要構造一個新的實例的所有信息。構造器的變量和內部函數變成了該實例的私有成員。 JavaScript 是一門弱類型語言,從不需要類型轉換。對象繼承關系變得無關緊要。對于一個對象來說重要的時它能夠做什么,而不是它從哪里來。 閱讀《javascript語言精粹》筆記! 偽類 js的原型存...