JavaScript為物件新增屬性和方法的屬性prototype

黄舟
發布: 2017-11-04 10:27:24
原創
2379 人瀏覽過

定義和用法

prototype 屬性使您有能力為物件新增屬性和方法。

語法

object.prototype.name=value
登入後複製

實例

在本例中,我們將展示如何使用prototype 屬性來新增屬性給物件:

登入後複製

輸出:

20000
登入後複製

prototype屬性的作用

  為了解決建構子的物件實例之間無法共享屬性的缺點,js提供了prototype屬性。

  js中每個資料型別都是物件(除了null和undefined),而每個物件都繼承自另一個對象,後者稱為「原型」(prototype)對象,只有null除外,它沒有自己的原型物件。

  原型物件上的所有屬性和方法,都會被物件實例所共用。

  透過建構函式產生物件實例時,會將物件實例的原型指向建構函式的prototype屬性。每一個建構函式都有一個prototype屬性,這個屬性就是物件實例的原型物件。

function Person(name,height){ this.name=name; this.height=height; } Person.prototype.hobby=function(){ return 'watching movies'; } var boy=new Person('keith',180); var girl=new Person('rascal',153); console.log(boy.name); //'keith' console.log(girl.name); //'rascal' console.log(boy.hobby===girl.hobby); //true
登入後複製

 上面程式碼中,如果將hobby方法放在原型物件上,那麼兩個實例物件都共用著同一個方法。我希望大家都能理解的是,對於建構子來說,prototype是作為建構子的屬性;對於物件實例來說,prototype是物件實例的原型物件。所以prototype即是屬性,又是物件。

以上是JavaScript為物件新增屬性和方法的屬性prototype的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!