ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript がオブジェクトを作成する

JavaScript がオブジェクトを作成する

不言
不言オリジナル
2018-04-10 16:48:501338ブラウズ

この記事で共有する内容は、JavaScript を使用したオブジェクトの作成に関するもので、必要な友人は参照できます

オブジェクトを作成する最も簡単な方法は、 のインスタンスを作成することです。

    // 1. 调用系统的构造函数
    var person = new Object();

    // 添加属性
    person.name = "小李";
    person.age = 22;
    person.sex = "F";

    // 添加方法
    person.eat = function () {
        console.log("我喜欢吃油炸榴莲.")
    };

    person.play = function () {
        console.log("我喜欢玩电子游戏.")
    };

    person.introduce = function () {
        console.log("我叫" + this.name + ", 今年" + this.age + "岁.");
    };    
    
    person.introduce();        // 输出:我叫小李, 今年22岁.

上記のコードは、object という名前のオブジェクトを作成し、それに 3 つのプロパティと 3 つのメソッドを追加します。

オブジェクト リテラル

ただし、Object コンストラクターとオブジェクト リテラルを使用して単一のオブジェクトを作成できますが、この方法でオブジェクトを作成すると、大量の繰り返しコードが生成されます。そこで人々はファクトリーパターンを使い始めました。次のように:

function createPerson(name, age, sex) {
    var object = new Object();
    person.name = "小李";
    person.age = 22;
    person.sex = "F";
    person.introduce = function () {
        console.log("我叫" + this.name + ", 今年" + this.age + "岁.");
    };
    
    return person;
}

var person0 = createPerson("小苏", "21", "M");
var person1 = createPerson("铁子", "27", "M");

関数 createperson() は、受け入れられたパラメーターに基づいてすべての情報を含む Person オブジェクトを構築できます。この関数は無制限に呼び出すことができ、毎回 3 つのプロパティと 1 つのメソッドを含むオブジェクトを返します。ファクトリ パターンは、類似したオブジェクトを複数作成することによって生じる大量のコードの重複の問題を解決しますが、オブジェクトの識別、つまりオブジェクトの種類をどのように知るかという問題は解決しません。 JavaScript の発展に伴い、コンストラクター パターンという別の新しいパターンが登場しました。

コンストラクター パターン

ECMAScript のコンストラクターは、特定のタイプのオブジェクトを作成できます。 Object オブジェクトや Array オブジェクトなどのネイティブ コンストラクターは、実行時に実行環境に自動的に表示されます。さらに、コンストラクターをカスタマイズして、オブジェクトの型とメソッドをカスタマイズすることもできます。たとえば、前の例は、自動コンストラクターを使用して次のコードのように書き直すことができます:

function Person(name, age, sex) {
    this.name = name;
    this.age  = age;
    this.sex  = sex;
    
    this.introduce = function () {
        console.log("我叫" + this.name + ", 今年" + this.age + "岁.");
    };
}

var person0 = createPerson("小苏", "21", "M");
var person1 = createPerson("铁子", "27", "M");

この例では、person() 関数が createperson() 関数を置き換えます。 Person() 関数のコードには、createperson() 関数と次のような類似点があることがわかりました。

    は、オブジェクトを明示的に作成しません。
  • は、このオブジェクトにプロパティとメソッドを直接割り当てます。 return 文はありません。
  • さらに、関数名の先頭に大文字の P が使用されていることにも注目してください。慣例により、コンストラクターは常に大文字で始まり、非コンストラクターは小文字で始まる必要があります。
  • Person の新しいインスタンスを作成するには、

    演算子を使用する必要があります。この方法でコンストラクターを呼び出すと、実際には次の 4 つのプロセスが実行されます。

新しいオブジェクトを作成します。
new

    コンストラクターのスコープを新しいオブジェクトに割り当てます (つまり、この新しいオブジェクトを指します)。コンストラクター内のコード
  1. この新しいオブジェクトを返します。
  2. 関連する推奨事項:

  3. node.jsを使用したローカルサーバーの作成の詳細な説明
  4. JSでオブジェクトを作成するいくつかの方法を共有する


three.jsシーンインスタンスの作成の詳細な説明

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

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