ホームページ  >  記事  >  ウェブフロントエンド  >  なぜjsにコンストラクターが必要なのか

なぜjsにコンストラクターが必要なのか

(*-*)浩
(*-*)浩オリジナル
2019-06-01 11:32:353870ブラウズ

コンストラクターを使用して再利用可能なオブジェクトを構築する

なぜjsにコンストラクターが必要なのか

JS 内の関数をコンストラクターにすることができる 関数を呼び出すことができる通常の関数と同じです。new を使用してオブジェクトを作成する場合、対応する関数はコンストラクターです。オブジェクトを通じて呼び出される場合、それは通常の関数です。

コンストラクターは、ユーザーが構築する関数です。通常の関数とは質的に異なる特別なメソッドです。その関数は主に、オブジェクトを作成するときにオブジェクトを初期化するために使用されます。メンバーに初期値を割り当てるときのコンストラクターの主な特徴は、メソッド名、最初の文字が大文字であること、および new

オブジェクトに多数のインスタンスがある場合、またはオブジェクトにインスタンスが含まれる場合に使用されることです。継承またはコンストラクターのパラメーターの受け渡しに注意してください。 コードのコメント

//创建了一个构造函数
function Person(name,address){
    this.name = name;
    this.address = address;
}
//为构造函数的原型对象添加一个方法sayHello
Person.prototype.sayHello = function(){
    console.log('Hi I am ' + this.name);
}
//通过构造函数Person实例化一个p1,并传参
var p1 = new Person('postbird','earth');
//通过构造函数Person实例化一个p2,并传参
var p2 = new Person('ptbird','month');
console.log(p1);//{name: "postbird", address: "earth"}
console.log(p2);//{name: "ptbird", address: "month"}
// p1和p2 继承了Person的sayHello方法
p1.sayHello()//Hi I am ptbird
p2.sayHello()//Hi I am postbird

辛抱強く上記のコードを試してみてください。これにより、スケーラビリティが向上し、N 個のインスタンスを作成してコードの再利用を実現できます。

以上がなぜjsにコンストラクターが必要なのかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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