この記事の内容は、js でオブジェクトを作成およびインスタンス化する 3 つの方法を誰もが理解できるように、JavaScript でオブジェクトを作成する方法を紹介することです。困っている友人は参考にしていただければ幸いです。
構文の観点から見ると、JavaScript は柔軟なオブジェクト指向言語です。 JavaScript がオブジェクトを作成およびインスタンス化するさまざまな方法を説明する前に、JavaScript がクラスレス言語であり、関数がクラスをシミュレートするような方法で使用されることに注意する必要があります。 [関連ビデオチュートリアルの推奨事項: JavaScript チュートリアル ]
関数をクラスとして使用する:
これは 1 つですJavaScript でオブジェクトを作成およびインスタンス化する最も簡単な方法を説明します。従来の JavaScript 関数を定義し、 new キーワードを使用して関数のオブジェクトを作成し、次に this キーワードを使用して関数のプロパティとメソッドを作成します。
<script> // 作为一个类的功能。 function copyClass(name, age) { this.name = name; this.age = age; this.printInfo = function() { console.log(this.name); console.log(this.age); } } // 创建copyClass的对象 // 初始化参数 var obj = new copyClass("Vineet", 20); //调用copyClass对象的方法 obj.printInfo(); </script>
実行結果:
説明:
クラスには 2 つの主要コンポーネントがあります。パラメータといくつかのメンバー関数。このメソッドでは、name と age という 2 つのパラメーターを取るクラスのような関数を宣言します (このキーワードは、クラスの名前と年齢を、指定されたパラメーターの名前と年齢と区別するために使用されます)。また、印刷用の printInfo メソッドを宣言します。これらのパラメータの値。次に、copyClass オブジェクト obj を作成し、初期化し、そのメソッドを呼び出します。
オブジェクト リテラルを使用する:
リテラルは、オブジェクトを定義するためのより小さくて簡単な方法です。
以下では、オブジェクト テキストを使用して、前のオブジェクトとまったく同じオブジェクトを作成し、インスタンス化します。
<script> // 创建对象 var obj = { name : "", age : "", printInfo : function() { console.log(this.name); console.log(this.age); } } // 初始化参数 obj.name = "小明"; obj.age = 19; // 使用对象的方法 obj.printInfo(); </script>
実行結果:
説明:
この方法と前の方法の違いメソッド 動作原理は実際には同じですが、関数内でパラメーター (名前と年齢) とメソッド (printInfo) をバインドする代わりに、それらはオブジェクト自体にバインドされ、初期化してメソッドを簡単に使用できます。
関数のシングルトンを使用する:
3 番目の方法は、これまでに説明した他の 2 つの方法を組み合わせたものです。関数を使用して個々のオブジェクトを定義できます。
<script> // 创建单个对象 var obj = new function() { this.name = ""; this.age = ""; this.printInfo = function() { console.log(this.name); console.log(this.age); }; } // 初始化对象 obj.name = "小明"; obj.age = 20; // 对象的调用方法 obj.printInfo(); </script>
実行結果:
説明:
これは、最初の 2 つの方法を組み合わせたものです。 will メソッドとパラメータは関数内でバインドされますが、それらに対して個別の関数は宣言されません (メソッド 1 の copyClass など)。代わりに、関数構造を使用してオブジェクトを宣言するだけです。
要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。
以上がJavaScript はどのようにオブジェクトを作成するのでしょうか?オブジェクトをインスタンス化するためのメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。