国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

對象、構造函數和prototype

kuangcaibao / 508人閱讀

摘要:創建對象和構造函數創建對象有多種方法,上述的一種,屬于構造函數。但是這種方法由于沒有解決對象識別的問題直到對象的類型,并不好接下來的一種方法就是下面重點介紹的自定義構造函數。

對象

每個對象的創建都基于引用類型,比如:

我們可以創建自定義對象,最簡單的方法就是創建一個Object的實例,比如:

上面的例子創建了名為person的對象,并添加了3個屬性。

創建對象和構造函數

1.創建對象有多種方法,上述的一種,屬于Object構造函數。
2.此外,還可以用字面量對象創建一個函數,如下:

3.藍后,是第三種,用工廠模式 創建,如下:

person()函數會根據接收的參數創建一個包含所有信息的對象。但是這種方法由于沒有解決對象識別的問題(直到對象的類型),并不好~
接下來的一種方法就是下面重點介紹的:自定義構造函數。

自定義構造函數
與上述的構造函數不同,用Object、Array之類的構造函數被稱為原生構造函數。自定義構造函數可以自定義對象的屬性和方法。構造函數就是初始化一個實例對象。

讓我們來看一個栗子~

注意~構造函數有一個特點,默認函數首字母大寫。在上面的栗子中,person1就是Person對象的一個實例。person1有一個constructor的屬性,指向Person

prototype和原型對象

我們創建的每一個函數都有一個prototype屬性,這個屬性是一個指針,指向一個對象,這個對象包含了由特定類型所有實例共享的屬性和方法。我們可以說Person.prototype是person1的原型對象。所以,Person.prototype更像是一個模型和中轉站。讓我們看下面的栗子:

如上,我們將callName()方法和所有的屬性添加到了Person的prototype屬性中。Person.prototype是一個第三者,Person和person1實際上是沒有鏈接的,他們兩者的聯系是通過Person.prototype來建立的,而它里面會保存包括name、age、job等屬性和callName()方法。或許通過下面這個圖更好理解。

更簡單的原型語法

我們可能會覺得每次都要寫一遍Person.prototype會比較麻煩,所以我們可以用字面量的方式:

上面的代碼最終的執行結果也是一樣的,只是一點不同:constructor不再指向Person了。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/92855.html

相關文章

  • 學習JavaScript的原型筆記

    摘要:通過同一個構造函數實例化的多個對象具有相同的原型對象。構造函數的原型對象是實例對象通過屬性也指向原型對象。如果把函數當成實例對象的話,其構造函數是,其原型對象是類似地,函數的構造函數也是,其原型對象是。 JavaScript的原型(prototype、__proto__、constructor) 構造函數:function Foo() {};實例對象: let f1 = new Foo...

    Nino 評論0 收藏0
  • JS中的原型鏈原型的認識

    摘要:在上面的各種原型的變換中,其實難點就在于構造函數也是對象原型對象等所有對象都由構造這四個點。 這篇文章主要是學習一下JavaScript中的難點------原型和原型鏈 自定義一個對象 我們學習一門編程語言,必然要使用它完成一些特定的功能,而面向對象的語言因為符合人類的認知規律,在這方面做得很好,今天我以JS為例,探索一下JS不同于其他面向對象的語言的地方-------原型和原型鏈 首...

    Juven 評論0 收藏0
  • JS中的原型鏈原型的認識

    摘要:在上面的各種原型的變換中,其實難點就在于構造函數也是對象原型對象等所有對象都由構造這四個點。 這篇文章主要是學習一下JavaScript中的難點------原型和原型鏈 自定義一個對象 我們學習一門編程語言,必然要使用它完成一些特定的功能,而面向對象的語言因為符合人類的認知規律,在這方面做得很好,今天我以JS為例,探索一下JS不同于其他面向對象的語言的地方-------原型和原型鏈 首...

    Shimmer 評論0 收藏0
  • JS 原型及原型鏈學習

    摘要:所以繼承了對象的所有方法,當你用時,會先查一下它的構造函數的原型對象有沒有有方法,沒查到的話繼續查一下的原型對象有沒有這個方法。 普通函數與構造函數的區別 在命名規則上,構造函數一般是首字母大寫,普通函數遵照小駝峰式命名法。 在函數調用的時候: function fn() { } 構造函數:1. new fn( ) 2 .構造函數內部會...

    PiscesYE 評論0 收藏0
  • JavaScript學習總結(五)原型原型鏈詳解

    摘要:原型對象內部也有一個指針屬性指向構造函數實例可以訪問原型對象上定義的屬性和方法。在創建子類型的實例時,不能向超類型的構造函數中傳遞參數。 贊助我以寫出更好的文章,give me a cup of coffee? 2017最新最全前端面試題 私有變量和函數 在函數內部定義的變量和函數,如果不對外提供接口,外部是無法訪問到的,也就是該函數的私有的變量和函數。 function ...

    EscapedDog 評論0 收藏0

發表評論

0條評論

kuangcaibao

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<