もちろん、これはオブジェクト指向言語であるため、アクセス権の問題が存在するはずですが、これも this キーワードと密接に関係しています。このクラスのアクセス許可の問題を説明するための例を示します。
//パーソンクラス
関数 パーソン(){
var name="abc";//var はクラス内でプライベート変数を宣言しており、外部からはアクセスできません
var age = 20;
this.name2="edg" ;// これは外部からアクセスできるパブリック変数を宣言します
this.show=function(){//shou メソッドは外部からアクセスできるパブリック メソッドであり、内部のプライベート メソッドにアクセスできますclass
window.alert(name);
}
function show2(){//showw2 メソッドはクラス内のプライベート メソッドであり、外部からアクセスできません
}
}
var p1 = new Person();
document.writeln(p1.name2 p1.name);
p1.show(); .jb51.net
function Person(){
var name="abc";//var はクラス内でプライベート変数を宣言しており、外部からアクセスできません
var age = 20;
this.name2="edg ";//これは外部からアクセスできるパブリック変数を宣言します
this.show=function(){//shou メソッドは外部からアクセスできるパブリック メソッドであり、クラス内のプライベート メソッドにアクセス
window.alert(name);
}
function show2(){//shouw2 メソッドはクラス内のプライベート メソッドであり、外部からアクセスできません
}
}
var p1 = new Person();
document.writeln(p1.name2 p1.name);
p1.show();
内でのみアクセスできます。
質問しますが、このキーワードを通じて宣言された変数はパブリック変数であり、外部からアクセスできます。もちろん、外部アクセスを実現するメソッドを公開するだけで済みます
クラス内のプライベート変数について質問します。 This.show=function(){} は、クラスの外部でも呼び出すことができるパブリック メソッドを宣言します。もちろんこれで