JavaScript 面向?qū)ο蟮?私有成員和公開成員
更新時(shí)間:2010年05月13日 16:36:14 作者:
這節(jié)來(lái)說(shuō)下JavaScript的私有成員和公開成員,雖然JavaScript沒有private和public關(guān)鍵字,但還是那句話——作為開發(fā)人員我們要有面向?qū)ο蟮乃枷耄?
其實(shí)很簡(jiǎn)單,廢話少說(shuō),看了下面的代碼及注釋相信你就會(huì)一目了然!
//聲明類,就是一個(gè)方法,其實(shí)在JavaScript中,命名空間、類、成員.... 一切皆對(duì)象
MyClass =function(){
var _this=this;
//私有變量
var aa="11";
//公開變量
this.bb="22";
//私有方法
function fun1(){
alert(aa);
alert(_this.bb);
}
//私有方法
var fun2=function(){
alert(aa);
alert(_this.bb);
}
//公開方法
this.fun3=function(){
alert(aa);
alert(_this.bb);
}
}
//測(cè)試如下:
var mc=new MyClass();
mc.aa="AA";//錯(cuò)誤
mc.bb="BB";//正確
mc.fun1();//錯(cuò)誤
mc.fun2();//錯(cuò)誤
mc.fun3();//正確
一言以蔽之:在類的內(nèi)部
用 var 關(guān)鍵字聲明的變量或方法是私有的;
用function 關(guān)鍵字聲明的方法是私有的;
用this關(guān)鍵字聲明的變量或方法是公開的。
以上說(shuō)的都是針對(duì)于實(shí)例類而言的,而對(duì)于靜態(tài)類那就更簡(jiǎn)單了,JavaScript靜態(tài)類其實(shí)就是一個(gè)json對(duì)象,所以的它的所有成員都是公開的,都是對(duì)外可見的!
作者: 祥叔
出處:http://xumingxiang.cnblogs.com/
復(fù)制代碼 代碼如下:
//聲明類,就是一個(gè)方法,其實(shí)在JavaScript中,命名空間、類、成員.... 一切皆對(duì)象
MyClass =function(){
var _this=this;
//私有變量
var aa="11";
//公開變量
this.bb="22";
//私有方法
function fun1(){
alert(aa);
alert(_this.bb);
}
//私有方法
var fun2=function(){
alert(aa);
alert(_this.bb);
}
//公開方法
this.fun3=function(){
alert(aa);
alert(_this.bb);
}
}
//測(cè)試如下:
var mc=new MyClass();
mc.aa="AA";//錯(cuò)誤
mc.bb="BB";//正確
mc.fun1();//錯(cuò)誤
mc.fun2();//錯(cuò)誤
mc.fun3();//正確
一言以蔽之:在類的內(nèi)部
用 var 關(guān)鍵字聲明的變量或方法是私有的;
用function 關(guān)鍵字聲明的方法是私有的;
用this關(guān)鍵字聲明的變量或方法是公開的。
以上說(shuō)的都是針對(duì)于實(shí)例類而言的,而對(duì)于靜態(tài)類那就更簡(jiǎn)單了,JavaScript靜態(tài)類其實(shí)就是一個(gè)json對(duì)象,所以的它的所有成員都是公開的,都是對(duì)外可見的!
作者: 祥叔
出處:http://xumingxiang.cnblogs.com/
您可能感興趣的文章:
- Javascript面象對(duì)象成員、共享成員變量實(shí)驗(yàn)
- js對(duì)象內(nèi)部訪問(wèn)this修飾的成員函數(shù)示例
- JavaScript 面向?qū)ο蟮闹接谐蓡T和公開成員
- JavaScript 對(duì)象成員的可見性說(shuō)明
- JS實(shí)現(xiàn)的Object數(shù)組去重功能示例【數(shù)組成員為Object對(duì)象】
- javascript面向?qū)ο笾x成員方法實(shí)例分析
- javascript面向?qū)ο笾蚕沓蓡T屬性與方法及prototype關(guān)鍵字用法
- JS面向?qū)ο蠡A(chǔ)講解(工廠模式、構(gòu)造函數(shù)模式、原型模式、混合模式、動(dòng)態(tài)原型模式)
- JS 面向?qū)ο笾衿娴膒rototype
- js面向?qū)ο笾?、私有、靜態(tài)屬性和方法詳解
- js面向?qū)ο笾R妱?chuàng)建對(duì)象的幾種方式(工廠模式、構(gòu)造函數(shù)模式、原型模式)
- 《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記一:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)對(duì)象成員的定義分析
相關(guān)文章
js 面向?qū)ο蟮募夹g(shù)創(chuàng)建高級(jí) Web 應(yīng)用程序
在 C++ 或 C# 中,在談?wù)搶?duì)象時(shí),是指類或結(jié)構(gòu)的實(shí)例。對(duì)象有不同的屬性和方法,具體取決于將它們實(shí)例化的模板(即類)。2010-02-02
javascript 面向?qū)ο笕吕砭氈^承與多態(tài)
前面我們討論了如何在 JavaScript 語(yǔ)言中實(shí)現(xiàn)對(duì)私有實(shí)例成員、公有實(shí)例成員、私有靜態(tài)成員、公有靜態(tài)成員和靜態(tài)類的封裝。這次我們來(lái)討論一下面向?qū)ο蟪绦蛟O(shè)計(jì)中的另外兩個(gè)要素:繼承與多態(tài)。
2009-12-12
JavaScript 面向?qū)ο笕腴T精簡(jiǎn)篇
圍繞面向?qū)ο蟮膸状箨P(guān)鍵字:封裝 ,繼承 ,多態(tài) ,展開JavaScript面向?qū)ο?/div> 2009-03-03
JavaScript 設(shè)計(jì)模式之組合模式解析
“組合模式”顧名思意就是將多種實(shí)現(xiàn)組合在一起而達(dá)到牽一處而動(dòng)全身的效果。
2010-04-04
一個(gè)簡(jiǎn)單的javascript類定義例子
涵蓋了javascript公有成員定義、私有成員定義、特權(quán)方法定義的簡(jiǎn)單示例
2009-09-09 
