ホームページ ウェブフロントエンド jsチュートリアル Javascriptでのクラス作成とオブジェクトの詳細説明

Javascriptでのクラス作成とオブジェクトの詳細説明

May 31, 2017 am 10:05 AM

Javascriptを使用してクラスやオブジェクトを作成する方法はたくさんあります: 1. オリジナルの作成方法、2. ファクトリメソッドのパターン、3. 構築方法のパターン、4. 動的プロトタイプ方法。以下に例を詳しく見てみましょう次に、JavaScript でクラスとオブジェクトを作成するいくつかの方法をまとめます:

1. オリジナルの作成方法:

<script type="text/javascript">
  var person = new Object();
  person.name="Amy";
  person.sex="Woman";
  person.show=function(){
    document.write("name is: "+this.name+" ; sex is:"+this.sex);
  }
  person.show(); 
</script>
ログイン後にコピー

オリジナルの作成方法は、

オブジェクト指向

に精通している人向けです。受け入れがたいのですが、プロパティとメソッドのカプセル化は、「オブジェクト名」+「.」の形式で行われます。これは、プロパティとメソッドがオブジェクト名に続くことを意味します。このオブジェクト (例: person) は、カプセル化された結果です。たとえば、age 属性を追加すると、次のような人が作成されます。 Javaプログラミングに慣れている人は不快に感じます。元の作成メソッドをさらに「カプセル化」できます。次のステップを参照してください: 2. ファクトリ メソッド パターン:

 <script type="text/javascript">
   function personFactory(name,age,sex){
     var ob=new Object();
     ob.name=name;
     ob.age=age;
     ob.sex=sex;
     ob.show=function(){
       document.write(ob.name+" "+ob.age+" "+ob.sex);
     }
     return ob;
   }
   var person=personFactory("Amy",21,"Woman");
   person.show();
 </script>
ログイン後にコピー

ファクトリ メソッド パターンは、元の作成メソッドをカプセル化します。 person

reference

変数に、人は作成されたオブジェクトを参照できますが、まだ完璧ではありません。毎回オブジェクトを作成し、そのオブジェクトを使用してshow()メソッド、新しいshow()関数を呼び出します。 は同じ show メソッドを呼び出すことができます。最適化方法は、次のように show をファクトリの外に置くことです:

機能的に言​​えば、上記のコードは関数の再利用の問題を解決しますが、プレゼンテーション メソッドは異なります。オブジェクトを作成するとき、Java に慣れている人はまだ不快に感じます。次のステップを参照してください: 3. コンストラクター パターン:

 <script type="text/javascript">
   function person(name,age,sex){
     this.name=name;
     this.age=age;
     this.sex=sex;
     this.show=function(){
       document.write(this.name+" "+this.age+" "+this.sex);
       document.write("<br>");
     }
   }
   var per=new person("Amy",22,"Woman");
   per.show();
 </script>
ログイン後にコピー

上記のコードの作成方法は、Java のクラスとオブジェクトの作成方法とほぼ同じであり、クラスの属性とメソッドをカプセル化して使用します。 new キーワードを使用してオブジェクトを作成し、返します。これは Java でクラスとオブジェクトを作成するプロセスではありませんか? はい、これはこのプロセスですが、この方法で作成されたオブジェクトが show メソッドを呼び出す場合、最適化することもできます。 show 関数もすぐに作成できますが、すべてのオブジェクトに共通のメソッドはどうでしょうか? Java クラスの

static

メソッドと同様に、すべてのオブジェクトは同じ静的メソッドを使用します。答えは「はい」です。次のステップを参照してください:

4. 動的プロトタイプ メソッド:

ここでは、new

を使用してオブジェクト

を作成するときに、Person 関数ブロック内の if

判定ステートメント

が実行されます。上から下の順です。 もちろん、最初はタグ変数が定義されていないため、if 文ブロックの内容が実行されます:

この内容の意味は、 Person クラスに属する show メソッドを作成することです。これは単一オブジェクトのメソッドではなく、Java の静的変更に相当するクラス メソッドであるため、すべてのオブジェクトが同じメソッドを呼び出すことができ、毎回独自の show 関数を作成する必要がないことに注意してください。別のオブジェクトがこのメソッドを呼び出すたびに、スペースと時間の両方が節約されます。ここで説明しますと、「クラス名.prototype.property/method」メソッドで構築されるプロパティやメソッドは、Java の static で変更された変数やメソッドに相当します。これらは単一のオブジェクトではなく、クラス全体に属します。 、すべてのオブジェクトが共有されます。

以上がJavascriptでのクラス作成とオブジェクトの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

MySQLクエリ結果の配列をオブジェクトに変換するにはどうすればよいですか? MySQLクエリ結果の配列をオブジェクトに変換するにはどうすればよいですか? Apr 29, 2024 pm 01:09 PM

MySQL クエリ結果の配列をオブジェクトに変換する方法は次のとおりです。 空のオブジェクト配列を作成します。結果の配列をループし、行ごとに新しいオブジェクトを作成します。 foreach ループを使用して、各行のキーと値のペアを新しいオブジェクトの対応するプロパティに割り当てます。新しいオブジェクトをオブジェクト配列に追加します。データベース接続を閉じます。

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

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

PHP 関数はどのようにオブジェクトを返すのでしょうか? PHP 関数はどのようにオブジェクトを返すのでしょうか? Apr 10, 2024 pm 03:18 PM

PHP 関数は、return ステートメントに続いてオブジェクト インスタンスを使用してオブジェクトを返すことにより、データをカスタム構造にカプセル化できます。構文: functionget_object():object{}。これにより、カスタム プロパティとメソッドを使用してオブジェクトを作成し、オブジェクトの形式でデータを処理できるようになります。

JavaScript で HTTP ステータス コードを簡単に取得する方法 JavaScript で HTTP ステータス コードを簡単に取得する方法 Jan 05, 2024 pm 01:37 PM

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが

C++ 関数がオブジェクトを返すときは何に注意する必要がありますか? C++ 関数がオブジェクトを返すときは何に注意する必要がありますか? Apr 19, 2024 pm 12:15 PM

C++ では、関数がオブジェクトを返すときに注意する点が 3 つあります。 オブジェクトのライフサイクルは、メモリ リークを防ぐために呼び出し元によって管理されます。ぶら下がりポインタを回避し、動的にメモリを割り当てるかオブジェクト自体を返すことにより、関数が戻った後もオブジェクトが有効なままであることを確認します。コンパイラーは、パフォーマンスを向上させるために、返されたオブジェクトのコピー生成を最適化する場合がありますが、オブジェクトが値セマンティクスによって渡される場合、コピー生成は必要ありません。

PHP における配列とオブジェクトの違いは何ですか? PHP における配列とオブジェクトの違いは何ですか? Apr 29, 2024 pm 02:39 PM

PHP では、配列は順序付けられたシーケンスであり、要素はインデックスによってアクセスされます。オブジェクトは、new キーワードによって作成されたプロパティとメソッドを持つエンティティです。配列へのアクセスはインデックス経由で、オブジェクトへのアクセスはプロパティ/メソッド経由で行われます。配列値が渡され、オブジェクト参照が渡されます。

Java のヒープとスタックの違いとそのアプリケーション シナリオを分析する Java のヒープとスタックの違いとそのアプリケーション シナリオを分析する Feb 24, 2024 pm 11:12 PM

Java ヒープとスタックの違いとアプリケーション シナリオの分析には、具体的なコード例が必要です。Java プログラムでは、ヒープとスタックは一般的に使用される 2 つのデータ構造であり、メモリ内で異なる役割と機能を想定します。効率的な Java プログラムを作成するには、ヒープとスタックの違いを理解することが重要です。まず、Java ヒープを見てみましょう。ヒープとはオブジェクトを格納する領域のことで、プログラムで作成したオブジェクトはすべてヒープに格納されます。ヒープは、プログラムの実行中にメモリが動的に割り当ておよび解放される場所であり、いかなる制限も受けず、必要に応じて自動的に割り当ておよび解放できます。

PHP の Request オブジェクトとは何ですか? PHP の Request オブジェクトとは何ですか? Feb 27, 2024 pm 09:06 PM

PHP の Request オブジェクトは、クライアントからサーバーに送信される HTTP リクエストを処理するために使用されるオブジェクトです。 Request オブジェクトを通じて、リクエストを処理して応答するために、リクエスト メソッド、リクエスト ヘッダー情報、リクエスト パラメータなどのクライアントのリクエスト情報を取得できます。 PHP では、$_REQUEST、$_GET、$_POST などのグローバル変数を使用して、要求された情報を取得できますが、これらの変数はオブジェクトではなく配列です。リクエスト情報をより柔軟かつ便利に処理するために、次のことができます。

See all articles