まず次のコードを見てみましょう。
function Machine(ecode、horsepower){this.ecode = ecode; this.horsepower = horsepower;} function showme(){alert(this.name + "" + this.ecode + "" + this.horsepower);} var machine = new Machine( "code1"、15); machine.name = "machine1"; machine.showme = showme; Machine.showme();このコードでは、マシンオブジェクトを作成した後、showme関数はmachine.showme = showmeを介してマシンオブジェクトマシンメソッドになります。
ただし、上記の2つの関数(1つはオブジェクトコンストラクターであり、もう1つは通常の方法)に依存します。このようなコードはそれほど「エレガント」ではないため、プロトタイプがあります。
//マシン関数マシン(Ecode、馬力){this.ecode = ecode; this.horsepower = horsepower;} //この文に特別な注意を払ってください。 Machine.Prototypeは、初めて初期化されたときに初期化されます。 //コンストラクターとしてマシンを呼び出すと、エンジンの値が再び変更されません。Machine.Prototype.Engine= this.ecode + "" + this.horsepower; macher.prototype.showme = function(){alert(this.name + "" + this.ecode + "" + this.horsepower); }上記のコードを使用すると、すべてのマシンオブジェクトにはshowmeメソッドがあります。
しかし、特に注意してください:
プロトタイプは、クラスオブジェクトではなく、インスタンスに直面しています。 (JSでは、クラス自体はオブジェクトです)sochemach.showme();マシンオブジェクトにはshowmeメソッドがないため、エラーが報告されます。
それでは、Showmeメソッドをどのように使用しますか?新しいマシンインスタンスを作成する必要があり、マシンインスタンスのみがこの方法を使用します。
var machine = new Machine( "code1"、15); machine.name = "machine1"; machine.showme(); //出力Machine1 Code1 15。
プロトタイプを使用すると、継承関係を実装する方が簡単です。たとえば、今すぐ車のクラスを書いた場合、現在のマシンクラスを継承する必要があります。次のコードを書くだけです。
//カー機能カー(名前、ecode、馬力){this.name = name; //親クラスのコンストラクターを計算して、車のオブジェクトにecode and horsepower属性マシン(this、ecode、horsepower);} // carのプロトタイプがマシンを指しているため、showmecar.prototype = new Machine(新しいマシン)などのマシンのプロトタイプのプロパティとメソッドがあります。ここでは注釈が非常に明確であるため、詳細は説明しません。
次に、テストする新しいオブジェクトを作成できます。
//クラスカーの新しいオブジェクトを作成します。 var xiali = new car( "xiali"、 "aaa"、15); alert(xiali.engine); xiali.showme();
上記はプロトタイプの基本的なアプリケーションですが、プロトタイプの最も重要なアプリケーションでもあります。
マスターするプロトタイプの使用は、将来のオブジェクトの構築と継承をより深く理解することができます。
より多くのJavaScriptの構文を表示するには、「JavaScriptリファレンスチュートリアル」および「JavaScriptコードスタイルガイド」をフォローできます。また、誰もがwulin.comをもっとサポートすることを願っています。