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/
復制代碼 代碼如下:
//聲明類,就是一個方法,其實在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è)計模式》學習筆記一:Javascript面向?qū)ο蟪绦蛟O(shè)計對象成員的定義分析

詳解new function(){}和function(){}() 區(qū)別分析
只要 new 表達式之后的 constructor 返回(return)一個引用對象(數(shù)組,對象,函數(shù)等),都將覆蓋new創(chuàng)建的匿名對象,如果返回(return)一個原始類型(無 return 時其實為 return 原始類型 undefined),那么就返回 new 創(chuàng)建的匿名對象。
2008-03-03 
JavaScript isPrototypeOf和hasOwnProperty使用區(qū)別
JavaScript isPrototypeOf和hasOwnProperty的使用技巧,需要的朋友的朋友可以參考下。
2010-03-03 
Javascript面向?qū)ο缶幊蹋ㄈ?非構(gòu)造函數(shù)的繼承
這個系列的第一部分介紹了"封裝",第二部分介紹了使用構(gòu)造函數(shù)實現(xiàn)"繼承"。
2011-08-08