JavaScript之信息的封裝 js對象入門
更新時間:2010年04月16日 19:18:07 作者:
下面對代碼的封裝是比較常用的,也比較好理解,只有先掌握了這些,才能更深入的了解面向?qū)τ谝约癹son格式的定義方法。
JavaScript之信息的封裝
在編碼前,我們需要了解如下幾個術(shù)語;
封裝:對內(nèi)部數(shù)據(jù)的表現(xiàn)形式和實(shí)施細(xì)節(jié)進(jìn)行隱藏;
私有屬性和方法:外界只能通過其公開的接口與其進(jìn)行存取和交互
作用域:JavaScript中,只有函數(shù)具有作用域,函數(shù)內(nèi)部定義的屬性和方法在外部無法訪問
特權(quán)方法:聲明在函數(shù)內(nèi)部,能訪問函數(shù)內(nèi)部變量(屬性)的方法,比較耗費(fèi)內(nèi)存;
function Person()
{
/*
* 聲明私有的數(shù)據(jù)
* 昵稱,年齡,郵箱
*/
var nickName, age, email;
/*
* 需要訪問私有數(shù)據(jù)的方法(特權(quán)方法)
* 每生成一個實(shí)例將為特權(quán)方法生成一個新的副本
*/
this.setData = function(pNickName, pAge, pEmail)
{
nickName = pNickName;
age = pAge;
email = pEmail
};
this.getData = function()
{
return [nickName, age, email];
}
}
/*
* 不需要直接訪問私有數(shù)據(jù)的方法(公有方法)
* 不管生成多少實(shí)例,公有方法在內(nèi)存中只存在一份
*/
Person.prototype = {
showData: function()
{
alert("個人信息:" + this.getData().join());
}
}
外部代碼通過私有或公有方法存取內(nèi)部屬性
var p = new Person();
p.setData("sky", "26", "vece@vip.qq.com");
p.showData();
演示代碼:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
在編碼前,我們需要了解如下幾個術(shù)語;
封裝:對內(nèi)部數(shù)據(jù)的表現(xiàn)形式和實(shí)施細(xì)節(jié)進(jìn)行隱藏;
私有屬性和方法:外界只能通過其公開的接口與其進(jìn)行存取和交互
作用域:JavaScript中,只有函數(shù)具有作用域,函數(shù)內(nèi)部定義的屬性和方法在外部無法訪問
特權(quán)方法:聲明在函數(shù)內(nèi)部,能訪問函數(shù)內(nèi)部變量(屬性)的方法,比較耗費(fèi)內(nèi)存;
復(fù)制代碼 代碼如下:
function Person()
{
/*
* 聲明私有的數(shù)據(jù)
* 昵稱,年齡,郵箱
*/
var nickName, age, email;
/*
* 需要訪問私有數(shù)據(jù)的方法(特權(quán)方法)
* 每生成一個實(shí)例將為特權(quán)方法生成一個新的副本
*/
this.setData = function(pNickName, pAge, pEmail)
{
nickName = pNickName;
age = pAge;
email = pEmail
};
this.getData = function()
{
return [nickName, age, email];
}
}
/*
* 不需要直接訪問私有數(shù)據(jù)的方法(公有方法)
* 不管生成多少實(shí)例,公有方法在內(nèi)存中只存在一份
*/
Person.prototype = {
showData: function()
{
alert("個人信息:" + this.getData().join());
}
}
外部代碼通過私有或公有方法存取內(nèi)部屬性
復(fù)制代碼 代碼如下:
var p = new Person();
p.setData("sky", "26", "vece@vip.qq.com");
p.showData();
演示代碼:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
您可能感興趣的文章:
- javascript 面向?qū)ο笕吕砭氈當(dāng)?shù)據(jù)的封裝
- Javascript 面向?qū)ο螅ǘ┓庋b代碼
- Javascript 面向?qū)ο缶幊蹋ㄒ唬?封裝
- javascript對XMLHttpRequest異步請求的面向?qū)ο蠓庋b
- javascript面向?qū)ο蟀b類Class封裝類庫剖析
- javascript 面向?qū)ο缶幊袒A(chǔ):封裝
- js實(shí)現(xiàn)對ajax請求面向?qū)ο蟮姆庋b
- javascript 面向?qū)ο蠓庋b與繼承
- JavaScript中的Primitive對象封裝介紹
- 學(xué)習(xí)Javascript面向?qū)ο缶幊讨庋b
- Javascript之面向?qū)ο?-封裝
- JavaScript對象封裝的簡單實(shí)現(xiàn)方法(3種方法)
相關(guān)文章
javascript 面向?qū)ο蟮腏avaScript類
這一節(jié)來說下緊接著的一個概念——類。雖然JavaScript中沒有class關(guān)鍵字,但作為開發(fā)人員我們一定要有這個思想。在C#中類可以分為實(shí)例類和靜態(tài)類,JavaScript亦然。2010-05-05
討論javascript(一)工廠方式 js面象對象的定義方法
看《javascript高級程序設(shè)計》有感2009-12-12
JavaScript對象鏈?zhǔn)讲僮鞔a(jquery)
自從使用了jQuery以后,對它的鏈?zhǔn)讲僮骱苁且蕾嚕灾劣诔3SX得其他庫不好用。。2010-07-07
學(xué)習(xí)JS面向?qū)ο蟪晒?借國慶發(fā)布個最新作品與大家交流
學(xué)習(xí)JS面向?qū)ο蟪晒?,借國慶發(fā)布個最新作品與大家交流,大家可以看下。2009-10-10
js對象的構(gòu)造和繼承實(shí)現(xiàn)代碼
js對象的構(gòu)造和繼承實(shí)現(xiàn)代碼,學(xué)習(xí)javascript面向?qū)ο蟮呐笥芽梢詤⒖枷?。寫出跟漂亮與復(fù)用的代碼。2010-12-12
new fun的執(zhí)行過程分析,學(xué)習(xí)面向?qū)ο蟮呐笥芽梢詤⒖枷隆?/div> 2010-08-08最新評論

