JSにおける公共/私有変数と方法(翻訳まとめ)
2058 ワード
パブリック/プライベート変数と方法
簡単な例を通して、JavaScriptを使ってクラス内でプライベート変数と方法を作成する方法を示します.
Summaryプライベート変数は、オブジェクト内部で「var」キーを使用して宣言され、プライベート関数と特権方法によってのみアクセスできます. プライベート関数は、オブジェクトのコンストラクター内で声明(またはvar functionName=function(){…}によって定義されています)を表しています.これは、特権関数によって呼び出すことができます. 特権的な方法は、this.methodName=function(){…}によって宣言され、対象外のコードによって呼び出される可能性がある.特権関数を呼び出すには、this.特権関数を使用してもいいです.プライベート関数()を使用して、プライベート関数を呼び出します. 共通属性は、this.variable Nameによって定義され、対象外では読み書きが可能である.プライベート関数によって呼び出すことはできません. 共通方法は、Class Name.prototype.methodName=function(){…}によって定義され、オブジェクトの外部から呼び出すことができる. プロトタイプ属性はClass Name.prototype.propertyName=someValueで定義されています. 静的属性は、Class Name.propertyName=someValueによって定義される. また、このような表記に注意してください.var関数名=function関数名(){…}という関数が呼び出されたときは、特権関数とプライベート関数の特性があります.
例:
簡単な例を通して、JavaScriptを使ってクラス内でプライベート変数と方法を作成する方法を示します.
Summary
例:
<html>
<head>
<title></title>
<script type="text/javascript">
function Container( param ) {
function dec(){
if ( secret > 0 ) {
secret -= 1;
setSecret( 7)
alert( secret );
return true;
}
else {
// alert( "over"+this.member);
return false;
}
}
// this.dec = dec;
//this.dec = function dec (){...} different from above code.
function setSecret( num ){
secret = num;
}
this.member = param;
var secret = 3;
var self = this;
this.service = function () {
if (dec()) {
alert();
}
else {
return null;
}
}
}
// ---------------------------------------
function start(){
alert( "Start" )
var test = new Container( 'liuqi' );
// test.setSecret( 2 );
test.service();
test.service();
test.service();
test.service();
var test2 = new Container( 'liuqi' );
//test2.service();
// Container.dec();
}
</script>
</head>
<body>
<div onclick="start()" style="color:blue">click me</div>
</body>
</html>