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對象,所以的它的所有成員都是公開的,都是對外可見的!
其實很簡單,廢話少說,看了下面的代碼及注釋相信你就會一目了然!
復制代碼 代碼如下:
//聲明類,就是一個方法,其實在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ù)類型的應用實例分析
- JavaScript 私有成員分析
- Javascript類定義語法,私有成員、受保護成員、靜態(tài)成員等介紹
- ES5 模擬 ES6 的 Symbol 實現(xiàn)私有成員功能示例
相關(guān)文章
javascript中類的定義及其方式(《javascript高級程序設計》學習筆記)
javascript也是一種面向?qū)ο蟮木幊陶Z言。但是javascript中的類相關(guān)的東西(類的定義,原型鏈,繼承等)卻不是很好理解,特別是繼承。2011-07-07javascript 設計模式之單體模式 面向?qū)ο髮W習基礎
單體是在腳本加載時創(chuàng)建的,能將一系列有關(guān)聯(lián)的變量和方法組織為一個邏輯單元,邏輯單元里面的內(nèi)容通過單一的變量進行訪問,也是筆記基礎與常用的面向?qū)ο蟮亩x方法。2010-04-04XRegExp 0.2: Now With Named Capture
XRegExp 0.2: Now With Named Capture...2007-11-11JavaScript面向?qū)ο蟪绦蛟O計三 原型模式(上)
在javaScript面向?qū)ο笤O計一和Javascript面向?qū)ο笤O計二中分別介紹了工廠模式和構(gòu)造函數(shù)模式,以及他們格式的優(yōu)缺點,今天繼續(xù)講解原型模式2011-12-12學習面向?qū)ο笾嫦驅(qū)ο蟮幕靖拍?對象和其他基本要素
學習面向?qū)ο笾嫦驅(qū)ο蟮幕靖拍?對象和其他基本要素2010-11-11JavaScript定義類或函數(shù)的幾種方式小結(jié)
js中不論是定義類或者函數(shù),很多朋友想將代碼寫的更專業(yè),更方便擴展等,那么就可以參考這篇文章了,最好是總結(jié),建議大家收藏下。2011-01-01