ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でのこのキーワードの概要
JavaScript は実際にはオブジェクト指向に基づいた言語です。この場合、
がクラスを作成するときに、以下の各新しいクラスに共通の変数やその他の関数を持たせる必要がある場合、このキーワードが特に重要になります。このキーワードが最良の方法です。
もちろん、オブジェクト指向言語であるため、アクセス権の問題もあるはずですが、これも this キーワードと密接に関係しています。このクラスのアクセス権の問題を説明するために、以下の例を示します。
[javascript]
//person クラスfunction Person(){
var name="abc";//var で宣言されているものはすべてプライベートです var age = 20;
this.name2="edg";//これはパブリック変数を宣言しており、外部からアクセスできます。 (){// shou メソッドはパブリック メソッドであり、クラス内のプライベート メソッドと同様に外部からもアクセスできます。
にアクセスしてください。 (){
var name="abc";// var はクラス内でプライベート変数を宣言し、外部からアクセスできません
var age = 20;
this.name2="edg";//this はパブリック変数を宣言します 変数、外部からアクセス可能です
this.show=function(){ //shou メソッドはパブリック メソッドであり、外部からアクセスでき、クラス内のプライベート メソッドにもアクセスできます
window.alert(name);
}
function show2 (){//shouw2 メソッドはプライベート メソッドですクラス内にあり、外部からアクセスすることはできません
}
}
var p1 = new Person();
document.writeln(p1.name2+p1.name);
p1 です。実際にはクラスであり、クラス名は Person です。var で始まるその中で宣言された変数はすべてプライベート変数であり、クラス内でのみアクセスできます。また、this キーワードを通じて宣言された変数はパブリック変数であり、アクセスできます。外部からアクセスできるようになります。もちろん、クラス内のプライベート変数への外部アクセスを実現するメソッドを公開するだけで済みます。 This.show=function(){} は、クラスの外部でも呼び出すことができるパブリック メソッドを宣言します。もちろん、類推して、直接宣言されたメソッドはプライベート メソッドです/
別の例を見てみましょう
[javascript]
function test(){
alert(this.v)
}
var v = 902 ; window.test();
function test(){
alert(this.v);
}
var v = 902;
window.test();
このコードは、誰が呼び出したかを意味します。 this メソッド、this this はオブジェクトを参照します。たとえば、ウィンドウ オブジェクトによって呼び出されるテスト メソッドです。
つまり、テスト メソッドの内部では、this this、v は、v 変数がウィンドウ内、つまり外部で定義されているかどうかを参照します。グローバル。 var v = 902 が定義されているため、このメソッドが実際に呼び出すのは v の値です。