JavaScript之信息的封裝 js對象入門
更新時間:2010年04月16日 19:18:07 作者:
下面對代碼的封裝是比較常用的,也比較好理解,只有先掌握了這些,才能更深入的了解面向對于以及json格式的定義方法。
JavaScript之信息的封裝
在編碼前,我們需要了解如下幾個術語;
封裝:對內部數據的表現形式和實施細節(jié)進行隱藏;
私有屬性和方法:外界只能通過其公開的接口與其進行存取和交互
作用域:JavaScript中,只有函數具有作用域,函數內部定義的屬性和方法在外部無法訪問
特權方法:聲明在函數內部,能訪問函數內部變量(屬性)的方法,比較耗費內存;
function Person()
{
/*
* 聲明私有的數據
* 昵稱,年齡,郵箱
*/
var nickName, age, email;
/*
* 需要訪問私有數據的方法(特權方法)
* 每生成一個實例將為特權方法生成一個新的副本
*/
this.setData = function(pNickName, pAge, pEmail)
{
nickName = pNickName;
age = pAge;
email = pEmail
};
this.getData = function()
{
return [nickName, age, email];
}
}
/*
* 不需要直接訪問私有數據的方法(公有方法)
* 不管生成多少實例,公有方法在內存中只存在一份
*/
Person.prototype = {
showData: function()
{
alert("個人信息:" + this.getData().join());
}
}
外部代碼通過私有或公有方法存取內部屬性
var p = new Person();
p.setData("sky", "26", "vece@vip.qq.com");
p.showData();
演示代碼:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
在編碼前,我們需要了解如下幾個術語;
封裝:對內部數據的表現形式和實施細節(jié)進行隱藏;
私有屬性和方法:外界只能通過其公開的接口與其進行存取和交互
作用域:JavaScript中,只有函數具有作用域,函數內部定義的屬性和方法在外部無法訪問
特權方法:聲明在函數內部,能訪問函數內部變量(屬性)的方法,比較耗費內存;
復制代碼 代碼如下:
function Person()
{
/*
* 聲明私有的數據
* 昵稱,年齡,郵箱
*/
var nickName, age, email;
/*
* 需要訪問私有數據的方法(特權方法)
* 每生成一個實例將為特權方法生成一個新的副本
*/
this.setData = function(pNickName, pAge, pEmail)
{
nickName = pNickName;
age = pAge;
email = pEmail
};
this.getData = function()
{
return [nickName, age, email];
}
}
/*
* 不需要直接訪問私有數據的方法(公有方法)
* 不管生成多少實例,公有方法在內存中只存在一份
*/
Person.prototype = {
showData: function()
{
alert("個人信息:" + this.getData().join());
}
}
外部代碼通過私有或公有方法存取內部屬性
復制代碼 代碼如下:
var p = new Person();
p.setData("sky", "26", "vece@vip.qq.com");
p.showData();
演示代碼:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
相關文章
JS小框架 fly javascript framework
這幾天把工作中積累的東西整理成了一個小框架,分享給大家,希望對大家有用,也想聽一下大家的批評2009-11-11
DOMAssitant最新版 DOMAssistant 2.5發(fā)布
google code上的project ,值得大家學習它的類庫2007-12-12

