很多書上都是說,Javascript是無法真正實作Javascript私有成員的,因此在開發的時候,統一約定 __ 兩個底線開頭為私有變數。
後來,發現Javascript中閉包的特性,從而徹底解決了Javascript私有成員的問題。
function testFn(){ var _Name;//定义Javascript私有成员 this.setName = function(name){ _Name = name; //从当前执行环境中获取_Name } this.getName = function(){ return _Name; } }// End testFn var test = testFn(); alert(typeof test._Name === "undefined")//true test.setName("KenChen");
test._Name 根本訪問不到,但是用物件方法能存取到,因為閉包能從目前的執行環境中取得資訊。
接下來我們來看看,共有成員是怎麼實作的
function testFn(name){ this.Name = name; this.getName = function(){ return this.Name; } } var test = new testFn("KenChen"); test.getName(); //KenChen test.Name = "CC"; est.getName();//CC
接下來在看看類別靜態變數是怎麼實作的
function testFn(){ } testFn.Name = "KenChen"; alert(testFn.Name);//KenChen testFn.Name = "CC"; alert(testFn.Name);//CC
以上是javascript私有成員的實作方式實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!