定義と使用法
コンストラクタープロパティは、このオブジェクトを作成した配列関数への参照を返します。
文法
Object.Constructor
コンストラクター、コンストラクター、私たちは皆、この名前に精通しています。コンストラクターは常に、現在のオブジェクトを作成するコンストラクターを指しています。
ここで注意すべきことの1つは、各関数にプロトタイププロパティがあり、このプロトタイプのコンストラクターがこの関数を指していることです。この時点で、この機能のプロトタイプを変更すると、事故が発生しました。のように
function person(name、age){this.name = name; this.age = age;} person.pertotype.getage = function(){return this.age;} person.prototype.getname = function(){return this.name;} var p = new person( "nicholas"、18); console.log(p.constructor); // person(name、age)console.log(p.getage()); //18Console.log(p.getname()); //ニコラスもしそうなら:
function person(name、age){this.name = name; this.age = age;} person.prototype = {getname:function(){return this.name;}、getage:function(){return this.age;}} var p = new person( "nicholas"、18); log(p.constructor); // object()console.log(p.getage()); //18Console.log(p.getname()); //ニコラスその結果、コンストラクターが変更されました。
その理由は、プロトタイプ自体もオブジェクトであり、上記のコードは
person.prototype = new Object({getName:function(){return this.name;}、getage:function(){return this.age;}});コンストラクターは常に現在のオブジェクトを作成するコンストラクターを指しているため、上記のコードP.コンストラクターがオブジェクトを出力することを理解することは難しくありません。
プロトタイプを変更した後、コンストラクターが人を指すことを望んでいる場合はどうすればよいですか?シンプルで、person.prototype.constructorに値を割り当てるだけです。
person.prototype = {constructor:person、getname:function(){return this.name;}、getage:function(){return this.age;}}上記は、編集者が紹介したJavaScriptのコンストラクターです。私はそれが誰にでも役立つことを願っています!