我們先來(lái)講一個(gè)故事,一個(gè)大大的池塘,里面有很多魚(yú)。這是屬于我們大家的池塘所以里面的魚(yú)我們都可以吃,但是我們也會(huì)從集市買(mǎi)一些魚(yú)放在家里,那么放在家里的魚(yú)肯定是屬于我們私人的,外人是不會(huì)擁有的。那么在js里我們就把這個(gè)池塘稱為原型對(duì)象,池塘里面我們所共享的魚(yú)稱為原型中的屬性及方法,而我們自己的魚(yú)稱為構(gòu)造函數(shù)中的屬性及方法,我們是什么呢?對(duì)了,我們是對(duì)象的實(shí)例。 

  以上是為了讓大家能夠趣味性的對(duì)prototype有一個(gè)概念,接下來(lái)就通過(guò)代碼具體總結(jié)一下prototype~

一、理解prototype

  我們創(chuàng)建的每一個(gè)函數(shù)都有一個(gè)prototype屬性,這個(gè)屬性是一個(gè)指向?qū)ο蟮闹羔槨?/span>

  構(gòu)建對(duì)象中有一種模式叫做原型模式,意思是將對(duì)象實(shí)例所不可共享的屬性及方法定義在構(gòu)造函數(shù)中,而將可共享的屬性及方法放在原型對(duì)象中,也就是prototype指向的對(duì)象中。以下是用原型模式創(chuàng)建的一個(gè)對(duì)象:

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(xùn)

 1 function person(name, age) { 2   this.name = name; 3   this.age = age; 4 } 5 person.prototype = { 6   sayName: function() { 7     console.log(this.name);      
 8   } 9 };10 11 var p1 = new person("Wind", 20);12 p1.sayName(); // "Wind"13 14 var p2 = new person("Nic", 20);15 p2.sayName(); // Nic

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式