IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁網(wǎng)絡(luò)編程JAVA編程 → Javascript私有成員的實現(xiàn)方式

Javascript私有成員的實現(xiàn)方式

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

  我之前買過一本書《javascript高級程序設(shè)計》 Nicholas C.Zakas 著

  總體來講這本書還是可以的,但看完這本書還留了幾個問題一直困擾著我,如js中私有變量的實現(xiàn),prototype等,經(jīng)過自己一系列測試,現(xiàn)在終于弄明白了。

  很多書上都是說,Javascript是不能真正實現(xiàn)Javascript私有成員的,因此在開發(fā)的時候,統(tǒng)一約定 __ 兩個下劃線開頭為私有變量。

  后來,發(fā)現(xiàn)Javascript中閉包的特性,從而徹底解決了Javascript私有成員的問題。

 function testFn(){  
       var _Name;//定義Javascript私有成員  
       this.setName = function(name){  
          _Name = name; //從當(dāng)前執(zhí)行環(huán)境中獲取_Name  
       }  
       this.getName = function(){  
          return _Name;  
       }  
}// End testFn  
var test = testFn();  
alert(typeof test._Name === "undefined")//true  
test.setName("KenChen"); 

  test._Name 根本訪問不到,但是用對象方法能訪問到,因為閉包能從當(dāng)前的執(zhí)行環(huán)境中獲取信息。

  接下來我們看看,共有成員是怎樣實現(xiàn)的

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 

  接下來在看看類靜態(tài)變量是怎樣實現(xiàn)的

function testFn(){  
}  
testFn.Name = "KenChen";  
alert(testFn.Name);//KenChen  
testFn.Name = "CC";  
alert(testFn.Name);//CC 

  關(guān)于Portotype,繼承等以后的博文中敘述。

關(guān)鍵詞標(biāo)簽:Javascript

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 eclipse中如何設(shè)置字體大小_eclipse字體大小eclipse中如何設(shè)置字體大小_eclipse字體大小

相關(guān)下載

人氣排行 JS驗證日期格式是否正確Java中3DES加密解密調(diào)用示例Java技術(shù)-J2EE開發(fā)日記-MyEclipse快捷鍵與插件大全用Java刪除文件夾里的所有文件JavaScript基本語法-常量和變量C#中的空值的判斷JAVA實現(xiàn)屏幕抓圖 遠程桌面控制100多個很有用的JavaScript函數(shù)以及基礎(chǔ)寫法匯總