JavaScript のプロトタイプ パターンについての簡単な説明
JavaScript でオブジェクトを作成するには、ファクトリ モード、コンストラクタ モード、プロトタイプ モードなど、さまざまな方法があります:
//ファクトリ モード <br>function createperson( name,age,job)<br>{<br> var o = 新しいオブジェクト;<br> o.name = 名前;<br> o.age = 年齢;<br> o.job = job;<br> o.sayName = function()<br> {<br> アラート(this .name);<br> }<br> return o;<br>}<br>var person = createperson('dw',20,'IT');<br><p><br></p><p><br></p><p><br></p><p>同等のプロトタイプパターン: </p><p> </p><p>function person()<br>{<br><br>}<br>person.prototype = <br>{<br>名前:"dw",<br>年齢:20,<br>仕事:"IT",<br>sayName:function()<br> {<br>alert(this. name);<br> }<br>};<br>var person2 = new Person;<br><br> Javascript では、各関数にはプロトタイプ属性があり、これはプロトタイプ オブジェクトへのポインターであり、すべてのインスタンスで共有される属性の合計を作成するために使用できます。方法。プロトタイプ モードでは、インスタンス person3</p><p><br></p><p></p><p>var person3 = new Person;<br>person2.name; //dw<br><br>person3 の name 属性は両方とも dw を返します。プロトタイプ オブジェクトのプロパティとメソッドは、特定の型のすべてのインスタンスによって共有されます。デフォルトでは、各プロトタイプ オブジェクトはコンストラクター属性を自動的に取得します。この属性は、プロトタイプ属性が配置されている関数へのポインターを指すために使用されます。たとえば、 Person.prototype.constructor は Person<br></p><p><br></p><p></p>alert( Person.prototype.constructor) ; // Person のコンストラクターを返します<p> // person.prototype.constructor は Person への単なるポインタであり、 Person<br> と等しくありません // 以下は false を返します<br>alert(person.prototype.constructor) === 人)<br>alert (person.prototype.constructor == 人)<br><br> インスタンス、プロトタイプオブジェクト、コンストラクター間の三角関係は下図のとおりです。 <br></p><p><img src="/static/imghw/default1.png" data-src="https://img.php.cn//upload/image/628/727/400/1480037228955873.png" class="lazy" title="1480037228955873.png" alt="JavaScript のプロトタイプ パターンについての簡単な説明"></p> 各インスタンスの内部には、 ECMA では、プロトタイプ オブジェクトを指すポインター。262 の 5 番目のバージョンは [[プロトタイプ]] と呼ばれます。プロトタイプ モードで作成されたインスタンスには、コンストラクターとの直接の関係はありません。 <p></p><p><br></p> [[prototype]] にはアクセスできませんが、isPrototypeOf() メソッドを使用して、オブジェクトがプロトタイプ オブジェクトかどうかを判断できます。 <p></p><p></p>alert(person.prototype.isPrototypeOf(person2)); //true<p>alert(person.prototype.isPrototypeOf(person3));//true<br><br> インスタンス内に Person.prototype へのポインタがあるため、したがって、それらはすべて true を返します。 ECMAScript 5 では、Object.getPrototypeOf() を使用して [[prototype]]、つまりプロトタイプ オブジェクト <br></p><p><br></p><p></p>alert(Object.getPrototypeOf(person2) == Person.prototype) / を返すことができます。 /true<p>alert (Object.getPrototypeOf(person2).name); //dw<br><br> 注: インスタンスを使用してプロトタイプの値にアクセスすることはできますが、インスタンスを通じてプロトタイプの値を上書きすることはできません。 、プロトタイプと同じ名前の属性がインスタンスに追加され、同じ名前のプロトタイプの属性がブロックされます。 <br></p><p><br></p><p></p>person2.name="qs";<p>alert(person2.name);//qs<br><br> name 属性が null に設定されている場合でも、プロトタイプ内の名前にはアクセスできません。 delete を使用してインスタンスの name 属性を削除すると、プロトタイプ内の名前を再確認できます。<br></p><p><br></p><p></p><pre name="code" class="html">person2.name = null;<p>alert(person2 .name); //null<br>delete person2.name;alert(person2.name); //dw<br><br><br></p><p><br></p><p> 同じ名前のプロパティの場合は、hasOwnProperty を使用できます。 ("propertyName") メソッドは、プロパティがインスタンスに属しているかプロトタイプに属しているかを検出します。このメソッドは、指定されたプロパティがインスタンスに存在する場合にのみ true を返します<br></p><p><br></p>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript は Web 開発で広く使用されているプログラミング言語であり、WebSocket はリアルタイム通信に使用されるネットワーク プロトコルです。 2 つの強力な機能を組み合わせることで、効率的なリアルタイム画像処理システムを構築できます。この記事では、JavaScript と WebSocket を使用してこのシステムを実装する方法と、具体的なコード例を紹介します。まず、リアルタイム画像処理システムの要件と目標を明確にする必要があります。リアルタイムの画像データを収集できるカメラ デバイスがあるとします。
