《javascript語言精髓與編程實踐》–原型繼承筆記

來源:互聯網
上載者:User

1.直接量:直接量的值可以在聲明的同時就確知了;有undefined、true/false、字串、數值、Regex、null

2.運算式:由運算元、運算子組成的,併產生結果的文法結構;本身也是無法預知的;

   語句是由“;”分隔的句子或命令,如果在運算式後面加上一個”;“則是運算式語句,它表明“只有運算式,而沒有其他文法元素的語句”;

   單值表達示:沒有運算子的運算式稱為單值運算式;

3.null是Null 物件,可以用for in 來枚舉,但枚舉不到內空,因為它不是Object()構造器(或子類)執行個體來的,因此instanceof返回false;

4.{}是空的對象,具有對象的一切特性,已經預定義的屬性與方法,因為它是Object()構造器(或子類)執行個體來的,因此instanceof返回true;可以用for in 來枚舉,有一些操作可以使空的對象枚舉出一些屬性名稱

5.對象沒有原型,只有構造器有原型,屬性'構造器.prototype‘指向原型,對象只有“構造自某個原型”的問題,並不存在”持有(或擁有)某個原型“的問題

6.原型其實也是一個對象執行個體,空的對象是所有對象的基礎。對象的構造過程可以簡單的映射成為'複製'空的對象,javascript使用”僅當寫某個執行個體的成員時,將成員 的資訊複製到執行個體映像中“

  意思就是將所有執行個體都指向原型,當操作執行個體時,順著指標找到原型中的一些屬性及方法,但當執行個體中某個成員不同時,將這個成員的資訊複製到執行個體映像中;

7.對象的構造過程:

    函數有一個prototype成員,但在函數初始化時根本是無值的,只有當引用到原型時,才具有構造器的特性,而且函數的原型總是一個標準的、系統內建的object()構造器的執行個體,不過該執行個體建立後constructor屬性總先被賦值為當前函數

8.對象執行個體本質上是”一個指向其原型的,並持有一個屬性列表的結構“,都是繼承自Object.prototype

9.對象原型所具有的基本性質有:

                                                            

對象原型所具有的基本性質  
成員名   類型 分類
toString function 動態語言
toLocaleString function
valueOf function
constructor function 對象系統:構造
propertyIsEnumerable function 對象系統: 屬性
hasOwnproperty function
isPrototypeOf function 對象系統: 原型
構造器(函數)所具有的特殊成員
成員名 類型 函數式語言
call function
apply function
caller  function
bind function
arguments object 動態語言
length number
prototype object 對象系統:原型

10.每一個執行個體都有一個proto屬性。這個屬性是指向原型的,被稱為”內部原型鏈“,因此,執行個體有兩個原型鏈

11.一個構造器產生的執行個體,它的constructor屬性預設指向該構造器。

相關文章

聯繫我們

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