function Benjamin(ユーザー名, 性別) {
This.username = ユーザー名;
This.sex = セックス;
}
var benjamin = new Benjamin("zuojj", "male");
//出力: Benjamin{性別: "男性",ユーザー名: "zuojj"}
console.log(ベンジャミン);
var ben = Benjamin("張三", "女性");
//出力: 未定義
console.log(ベン);
function Benjamin(ユーザー名, 性別) {
//「this」が「Benjamin」オブジェクトかどうかを確認します
if(ベンジャミンのこのインスタンス) {
This.username = ユーザー名;
This.sex = セックス;
}else {
新しい Benjamin(ユーザー名、性別) を返します;
}
}
var benjamin = new Benjamin("zuojj", "male");
//出力: Benjamin{性別: "男性",ユーザー名: "zuojj"}
console.log(ベンジャミン);
var ben = Benjamin("張三", "女性");
//出力: Benjamin {ユーザー名: "zhangsan"、性別: "女性"}
console.log(ベン);
上記の例では、まずこれが Benjamin のインスタンスであるかどうかを確認します。そうでない場合は、new を使用してコンストラクターを自動的に呼び出し、インスタンスを作成します。これは、インスタンスを作成するための new キーワードが見つからないことを心配する必要がなくなったことを意味します。コンストラクター。もちろん、悪い習慣が身につく可能性がありますが、この現象を回避したらどうなるでしょうか。次のようなエラーをスローできます: