Javascript的封裝細節-私有變數、函數內呼叫自己

  1. Javascript的封裝細節-私有變數、函數內呼叫自己

Javascript的封裝細節-私有變數、函數內呼叫自己

原文連結: https://darkblack02.blogspot.com/2016/09/javascript.html
移植時的最後更新日期: 2016-09-01T16:49:51.991+08:00

在js中,使用物件導向的風格撰寫,並沒有明確的關鍵字可以設定priveat, public的權限。
而如何製造出private的權限呢?
像下面的code

var coder = function(){
this.coding = function (n) {
return n > 1 ? this.coding (n-1) + “-click” : “click”;
}//coder.coding(n)
}//constructor
是可以直接coder.coding()。coder就會認命的執行coding。
想要把coding設為私有,要怎麼做呢?
var coder = function(){
var private_name1 = function function_name(n) {
return n > 1 ? function_name (n-1) + “-click” : “click”;
}

var private_name2 = private_name1;
private_name1 = null;

this.coding = function(n) {
if (n < 10)
{
return private_name2(n);
}
}//coder.coding(3)
}//constructor
這裡,我做了一點手腳。
在建構式裡寫的var 變數,就已經成為該類別的私有變數。
但是為了讓函數呼叫自己的正確性提高。特別使用兩個私有變數,並且讓函式指定給第二個變數,靠第二個變數來運作。
在function_name函數內,呼叫自己的函數名稱,才不會因為這樣互相指定來指定去的失去效用。