JavaScript 面向?qū)ο蟮闹接谐蓡T和公開成員
更新時間:2010年05月04日 14:52:40 作者:
這節(jié)來說下JavaScript的私有成員和公開成員,雖然JavaScript沒有private和public關(guān)鍵字,但還是那句話——作為開發(fā)人員我們要有面向?qū)ο蟮乃枷耄?
上兩節(jié)講了 JavaScript 面向?qū)ο笾臻g 與 javascript 面向?qū)ο蟮腏avaScript類,大家可以先看上面的再繼續(xù)往下看。
其實很簡單,廢話少說,看了下面的代碼及注釋相信你就會一目了然!
//聲明類,就是一個方法,其實在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對象,所以的它的所有成員都是公開的,都是對外可見的!
其實很簡單,廢話少說,看了下面的代碼及注釋相信你就會一目了然!
復(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對象,所以的它的所有成員都是公開的,都是對外可見的!
您可能感興趣的文章:
- 詳解ES6 Symbol 的用途
- Javascript ES6中數(shù)據(jù)類型Symbol的使用詳解
- ES6概念 Symbol toString()方法
- ES6中Symbol類型用法實例詳解
- ES6新特性之Symbol類型用法分析
- ES6概念 Symbol.keyFor()方法
- es6 symbol的實現(xiàn)方法示例
- ES6中Symbol、Set和Map用法詳解
- ES6 Symbol數(shù)據(jù)類型的應(yīng)用實例分析
- JavaScript 私有成員分析
- Javascript類定義語法,私有成員、受保護成員、靜態(tài)成員等介紹
- ES5 模擬 ES6 的 Symbol 實現(xiàn)私有成員功能示例
相關(guān)文章
[推薦]javascript 面向?qū)ο蠹夹g(shù)基礎(chǔ)教程
看了很多介紹javascript面向?qū)ο蠹夹g(shù)的文章,很暈.為什么?不是因為寫得不好,而是因為太深奧. javascript中的對象還沒解釋清楚怎么回事,一上來就直奔主題,類/繼承/原型/私有變量....2009-03-03
JavaScript 類型的包裝對象(Typed Wrappers)
JavaScript 有一套類型的包裝對象,需要的朋友可以參考下。2011-10-10
js創(chuàng)建對象的幾種常用方式小結(jié)(推薦)
最近在看javascript高級程序設(shè)計,其中對對象的創(chuàng)建做了具體的闡述,綜合起來,總結(jié)了下(je知識庫javascript專欄由這方面的教程,有興趣的可以去知識庫看看)2010-10-10
javascript面向?qū)ο缶幊檀a,學(xué)習(xí)js面向?qū)ο缶幊痰呐笥芽梢詤⒖枷隆?/div> 2011-12-12
JS小框架 fly javascript framework
這幾天把工作中積累的東西整理成了一個小框架,分享給大家,希望對大家有用,也想聽一下大家的批評2009-11-11最新評論

