ホームページ > ウェブフロントエンド > フロントエンドQ&A > JavaScript でインスタンス メソッドを定義できますか?

JavaScript でインスタンス メソッドを定義できますか?

青灯夜游
リリース: 2021-11-22 14:03:18
オリジナル
1811 人が閲覧しました

Javascript ではインスタンス メソッドを定義できます。メソッド: 1. JavaScript オブジェクト プロトタイプ参照プロトタイプを使用してインスタンス メソッドを実装します。2. オブジェクト インスタンスに直接メソッドを定義します。3. このポインタを介してインスタンス メソッドを定義します。

JavaScript でインスタンス メソッドを定義できますか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

#1. JavaScript オブジェクト プロトタイプ参照プロトタイプを使用して、インスタンス メソッドを実装します

var BaseClass = function() {};  
BaseClass.prototype.method1 = function(){  
      alert(' This is a instance method ');  
}  
var instance1 = new BaseClass();  
instance1.method1(); //This is a instance method
ログイン後にコピー

2. インスタンスにメソッド (オブジェクト) を直接定義します

var BaseClass = function() {};  
var instance1 = new BaseClass();  
instance1.method1 = function(){  
    alert(' This is a instance method too ');  
}   
instance1.method1();//This is a instance method too
ログイン後にコピー

3. このポインタを介してインスタンス メソッド (変数) を定義します

var BaseClass = function() {  
 this.method1 = function(){  
   alert(' Defined by the "this" instance method');  
  }  
 };  
var instance1 = new BaseClass();  
instance1.method1();//Defined by the "this" instance method
ログイン後にコピー

次に、同時に、インスタンス、プロトタイプ参照、および「this」に同じインスタンスを定義します。 " メソッドの後、インスタンスによって最初に呼び出されるのはどれですか?

var BaseClass = function() {  
this.method1 = function(){  
       alert(' Defined by the "this" in the instance method');  
 }  
};  
var instance1 = new BaseClass();  
instance1.method1 = function(){  
    alert(' Defined directly in the instance method');  
}  
BaseClass.prototype.method1 = function(){  
    alert(' Defined by the prototype instance method ');  
}  
instance1.method1();//Defined directly in the instance method
ログイン後にコピー

* 結果追跡テストを実行すると、インスタンス上で直接変数の優先順位が、「this」で定義されている変数の優先順位よりも高いことがわかります。

* そして、「this」で定義された変数は、プロトタイプで定義された変数よりも上位です;

* つまり、インスタンス上で直接定義された変数は変数を上書きします"this" で定義された変数と、prototype で定義された変数、"this" で定義された変数は、prototypetype で定義された変数をオーバーライドします。

[推奨学習:

JavaScript 上級チュートリアル]

以上がJavaScript でインスタンス メソッドを定義できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート