ホームページ  >  記事  >  ウェブフロントエンド  >  Javascript でカスタム オブジェクトを作成するいくつかの方法の例の概要

Javascript でカスタム オブジェクトを作成するいくつかの方法の例の概要

伊谢尔伦
伊谢尔伦オリジナル
2017-07-27 17:01:471564ブラウズ

オブジェクト コンストラクター/オブジェクト リテラル:

デザイン パターンはさておき、最も基本的な方法を使用します。これは、最初に Object コンストラクターを呼び出してオブジェクトを作成し、次にそのオブジェクトにプロパティを追加することです。

var student = new Object();
     student.name = "xiao ming";
     student.age = 20;
     student.getName = function () {
         alert(this.name);
     }

javascript オブジェクト 文字通りの学習者は、少なくともより簡潔に見える、より良い書き方に変更できます。

 var student = {
        name: "xiao hong",
        age: 18,
        getName: function () {
            alert(this.name);
        }
    };

欠点: 上記の方法の欠点は、同じインターフェイスを使用して類似したオブジェクトを多数作成すると、大量の重複コードが生成されることです。これは簡単に理解できるはずです。通常、関数 (メソッドまたはクラス) はパブリック メソッドを作成するために使用されます。そのため、関数の影はまったくありません。

カスタムタイプのコンストラクター:

コンストラクターは、特定のタイプのオブジェクトを作成するために使用できます。

  function Student(name,age) {
         this.name = name;
         this.age = age;
         this.sayName = function () {
             alert(this.name);
         }
     }
     var p3 = new Student("ming", 20);
     var p4 = new Student("hong", 18);
     alert(p3 instanceof Student); 
    alert(p3.sayName==p4.sayName); //false

欠点: カスタム コンストラクターの欠点は、各オブジェクトが独自のメソッドを再作成することです。実際、これらのメソッドの機能は同じ (sayName など) ですが、同じではありません (p3.sayName と p4.sayName)。等しくありません)。

コンストラクターとプロトタイプの組み合わせ:

     function Student(name, age, friends) {
         this.name = name;
         this.age = age;
         this.friends = friends;
     }
     Student.prototype = {
         constructor: Student,
         sayName: function () {
             alert(this.name);
         }
     };

概要: コンストラクターとプロトタイプの組み合わせは、カスタム型を作成する方法として広く認識されています。 上記の方法の中で最も優れた方法でもあります。

以上がJavascript でカスタム オブジェクトを作成するいくつかの方法の例の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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