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

