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

資訊專欄INFORMATION COLUMN

對(duì)象、構(gòu)造函數(shù)和prototype

kuangcaibao / 511人閱讀

摘要:創(chuàng)建對(duì)象和構(gòu)造函數(shù)創(chuàng)建對(duì)象有多種方法,上述的一種,屬于構(gòu)造函數(shù)。但是這種方法由于沒(méi)有解決對(duì)象識(shí)別的問(wèn)題直到對(duì)象的類型,并不好接下來(lái)的一種方法就是下面重點(diǎn)介紹的自定義構(gòu)造函數(shù)。

對(duì)象

每個(gè)對(duì)象的創(chuàng)建都基于引用類型,比如:

我們可以創(chuàng)建自定義對(duì)象,最簡(jiǎn)單的方法就是創(chuàng)建一個(gè)Object的實(shí)例,比如:

上面的例子創(chuàng)建了名為person的對(duì)象,并添加了3個(gè)屬性。

創(chuàng)建對(duì)象和構(gòu)造函數(shù)

1.創(chuàng)建對(duì)象有多種方法,上述的一種,屬于Object構(gòu)造函數(shù)。
2.此外,還可以用字面量對(duì)象創(chuàng)建一個(gè)函數(shù),如下:

3.藍(lán)后,是第三種,用工廠模式 創(chuàng)建,如下:

person()函數(shù)會(huì)根據(jù)接收的參數(shù)創(chuàng)建一個(gè)包含所有信息的對(duì)象。但是這種方法由于沒(méi)有解決對(duì)象識(shí)別的問(wèn)題(直到對(duì)象的類型),并不好~
接下來(lái)的一種方法就是下面重點(diǎn)介紹的:自定義構(gòu)造函數(shù)。

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

讓我們來(lái)看一個(gè)栗子~

注意~構(gòu)造函數(shù)有一個(gè)特點(diǎn),默認(rèn)函數(shù)首字母大寫。在上面的栗子中,person1就是Person對(duì)象的一個(gè)實(shí)例。person1有一個(gè)constructor的屬性,指向Person

prototype和原型對(duì)象

我們創(chuàng)建的每一個(gè)函數(shù)都有一個(gè)prototype屬性,這個(gè)屬性是一個(gè)指針,指向一個(gè)對(duì)象,這個(gè)對(duì)象包含了由特定類型所有實(shí)例共享的屬性和方法。我們可以說(shuō)Person.prototype是person1的原型對(duì)象。所以,Person.prototype更像是一個(gè)模型和中轉(zhuǎn)站。讓我們看下面的栗子:

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

更簡(jiǎn)單的原型語(yǔ)法

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

上面的代碼最終的執(zhí)行結(jié)果也是一樣的,只是一點(diǎn)不同:constructor不再指向Person了。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/92855.html

相關(guān)文章

  • 學(xué)習(xí)JavaScript的原型筆記

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

    Nino 評(píng)論0 收藏0
  • JS中的原型鏈原型的認(rèn)識(shí)

    摘要:在上面的各種原型的變換中,其實(shí)難點(diǎn)就在于構(gòu)造函數(shù)也是對(duì)象原型對(duì)象等所有對(duì)象都由構(gòu)造這四個(gè)點(diǎn)。 這篇文章主要是學(xué)習(xí)一下JavaScript中的難點(diǎn)------原型和原型鏈 自定義一個(gè)對(duì)象 我們學(xué)習(xí)一門編程語(yǔ)言,必然要使用它完成一些特定的功能,而面向?qū)ο蟮恼Z(yǔ)言因?yàn)榉先祟惖恼J(rèn)知規(guī)律,在這方面做得很好,今天我以JS為例,探索一下JS不同于其他面向?qū)ο蟮恼Z(yǔ)言的地方-------原型和原型鏈 首...

    Juven 評(píng)論0 收藏0
  • JS中的原型鏈原型的認(rèn)識(shí)

    摘要:在上面的各種原型的變換中,其實(shí)難點(diǎn)就在于構(gòu)造函數(shù)也是對(duì)象原型對(duì)象等所有對(duì)象都由構(gòu)造這四個(gè)點(diǎn)。 這篇文章主要是學(xué)習(xí)一下JavaScript中的難點(diǎn)------原型和原型鏈 自定義一個(gè)對(duì)象 我們學(xué)習(xí)一門編程語(yǔ)言,必然要使用它完成一些特定的功能,而面向?qū)ο蟮恼Z(yǔ)言因?yàn)榉先祟惖恼J(rèn)知規(guī)律,在這方面做得很好,今天我以JS為例,探索一下JS不同于其他面向?qū)ο蟮恼Z(yǔ)言的地方-------原型和原型鏈 首...

    Shimmer 評(píng)論0 收藏0
  • JS 原型及原型鏈學(xué)習(xí)

    摘要:所以繼承了對(duì)象的所有方法,當(dāng)你用時(shí),會(huì)先查一下它的構(gòu)造函數(shù)的原型對(duì)象有沒(méi)有有方法,沒(méi)查到的話繼續(xù)查一下的原型對(duì)象有沒(méi)有這個(gè)方法。 普通函數(shù)與構(gòu)造函數(shù)的區(qū)別 在命名規(guī)則上,構(gòu)造函數(shù)一般是首字母大寫,普通函數(shù)遵照小駝峰式命名法。 在函數(shù)調(diào)用的時(shí)候: function fn() { } 構(gòu)造函數(shù):1. new fn( ) 2 .構(gòu)造函數(shù)內(nèi)部會(huì)...

    PiscesYE 評(píng)論0 收藏0
  • JavaScript學(xué)習(xí)總結(jié)(五)原型原型鏈詳解

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

    EscapedDog 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

kuangcaibao

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<