時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
我之前買(mǎi)過(guò)一本書(shū)《Javascript高級(jí)程序設(shè)計(jì)》 Nicholas C.Zakas 著
總體來(lái)講這本書(shū)還是可以的,但看完這本書(shū)還留了幾個(gè)問(wèn)題一直困擾著我,如js中私有變量的實(shí)現(xiàn),prototype等,經(jīng)過(guò)自己一系列測(cè)試,現(xiàn)在終于弄明白了。
很多書(shū)上都是說(shuō),Javascript是不能真正實(shí)現(xiàn)Javascript私有成員的,因此在開(kāi)發(fā)的時(shí)候,統(tǒng)一約定 __ 兩個(gè)下劃線開(kāi)頭為私有變量。
后來(lái),發(fā)現(xiàn)Javascript中閉包的特性,從而徹底解決了Javascript私有成員的問(wèn)題。
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 根本訪問(wèn)不到,但是用對(duì)象方法能訪問(wèn)到,因?yàn)殚]包能從當(dāng)前的執(zhí)行環(huán)境中獲取信息。
接下來(lái)我們看看,共有成員是怎樣實(shí)現(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
接下來(lái)在看看類靜態(tài)變量是怎樣實(shí)現(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)閱讀
熱門(mén)文章 eclipse中如何設(shè)置字體大小_eclipse字體大小設(shè)置方法 jsp 實(shí)現(xiàn)在線人數(shù)統(tǒng)計(jì) Eclipse優(yōu)化設(shè)置教程_Eclipse卡頓優(yōu)化設(shè)置技巧 JS截取字符串常用方法詳細(xì)整理
人氣排行 JS驗(yàn)證日期格式是否正確 Java中3DES加密解密調(diào)用示例 Java技術(shù)-J2EE開(kāi)發(fā)日記-MyEclipse快捷鍵與插件大全 eclipse中如何設(shè)置字體大小_eclipse字體大小設(shè)置方法 Eclipse優(yōu)化設(shè)置教程_Eclipse卡頓優(yōu)化設(shè)置技巧 JavaScript基本語(yǔ)法-常量和變量 用Java刪除文件夾里的所有文件 100多個(gè)很有用的JavaScript函數(shù)以及基礎(chǔ)寫(xiě)法匯總