私は オブジェクト の独善的な メソッドを作成するために js を使用してきました。問題が発生したとき、次のようにメソッドを定義しました。 >
function ListCommon2(first,second,third) { this.First=function () { alert("first do"+first); } } ListCommon2.do1=function(first) { // this.First(); alert("first do"+first); } ListCommon2.prototype.do2=function(first) { // this.First(); alert("first do"+first); }
テストコード:
var t1= new ListCommon2("烧水1","泡茶1","喝1"); // t1.do1();//调用出错 ListCommon2.do1("烧水1"); var t2=new ListCommon2("烧水2","泡茶2","喝2"); t2.do2("烧水2");// // ListCommon2.do2("烧水1");//调用出错
テストの結果、プロトタイプを使用しないメソッドはクラスの
static メソッドと同等であることが判明しました。 ListCommon2. do1("沸騰したお湯 1"); のように呼び出すこともできますが、このように呼び出すとエラーになります
逆に、プロトタイプを使用する方法は、 new が許可されるまで使用できないクラスのインスタンス メソッドと同等です。クラスのインスタンス メソッド。new の後に使用する必要があります。関数は
functions
で呼び出すことができます。制限は、クラスのインスタンス メソッドの制限と同様です。
を使用します。プロトタイプで定義されていないメソッドはクラスの静的メソッドに相当します。 new なしで直接使用できます。また、関数内で呼び出せる関数にも制限があります。 クラスの静的メソッドには多少の制限があります。
と同様です。たとえば、this.First();
を呼び出すことはできません。