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

