ホームページ > ウェブフロントエンド > jsチュートリアル > オブジェクトにプロパティとメソッドを追加するための JavaScript 属性プロトタイプ

オブジェクトにプロパティとメソッドを追加するための JavaScript 属性プロトタイプ

黄舟
リリース: 2017-11-04 10:27:24
オリジナル
2482 人が閲覧しました

定義と使用法

プロトタイプ属性を使用すると、オブジェクトにプロパティとメソッドを追加できます。

構文

object.prototype.name=value
ログイン後にコピー

この例では、プロトタイプ属性を使用してオブジェクトにプロパティを追加する方法を示します:

<script type="text/javascript">

function employee(name,job,born)
{
this.name=name;
this.job=job;
this.born=born;
}

var bill=new employee("Bill Gates","Engineer",1985);employee.prototype.salary=null;bill.salary=20000;

document.write(bill.salary);

</script>
ログイン後にコピー

出力:

20000
ログイン後にコピー

プロトタイプ属性の役割

コンストラクター内のオブジェクト インスタンスの問題 ユーザー間で属性を共有できないという欠点を克服するために、js はプロトタイプ属性を提供します。

js のすべてのデータ型はオブジェクト (null と未定義を除く) であり、各オブジェクトは、独自の Prototype オブジェクトを持たない null を除き、「プロトタイプ」オブジェクトと呼ばれる別のオブジェクトを継承します。

プロトタイプオブジェクト上のすべてのプロパティとメソッドは、オブジェクトインスタンスによって共有されます。

オブジェクト インスタンスがコンストラクターを通じて生成される場合、オブジェクト インスタンスのプロトタイプはコンストラクターのプロトタイプ属性を指します。各コンストラクターには、オブジェクト インスタンスのプロトタイプ オブジェクトであるプロトタイプ属性があります。

function Person(name,height){
this.name=name;
this.height=height;
} 
Person.prototype.hobby=function(){
return &#39;watching movies&#39;;
}
var boy=new Person(&#39;keith&#39;,180);
var girl=new Person(&#39;rascal&#39;,153); 
console.log(boy.name); //&#39;keith&#39;
console.log(girl.name); //&#39;rascal&#39;
console.log(boy.hobby===girl.hobby); //true
ログイン後にコピー

上記のコードでは、ホビー メソッドがプロトタイプ オブジェクトに配置されている場合、両方のインスタンス オブジェクトが同じメソッドを共有します。皆さんに理解していただきたいのは、コンストラクターの場合、プロトタイプはコンストラクターの属性であり、オブジェクト インスタンスの場合、プロトタイプはオブジェクト インスタンスのプロトタイプ オブジェクトであるということです。したがって、プロトタイプは属性でもあり、オブジェクトでもあります。

以上がオブジェクトにプロパティとメソッドを追加するための JavaScript 属性プロトタイプの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート