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

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

黄舟
黄舟オリジナル
2017-11-04 10:27:242456ブラウズ

定義と使用法

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

構文

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。