首頁  >  文章  >  web前端  >  JavaScript之資訊的封裝 js物件入門

JavaScript之資訊的封裝 js物件入門

高洛峰
高洛峰原創
2017-01-04 09:33:30923瀏覽

JavaScript之資訊的封裝 
在編碼前,我們需要了解以下幾個術語;
封裝:對內部資料的表現形式和實作細節進行隱藏; 
私有屬性與方法:外界只能透過其公開的介面與其進行存取與互動 
作用域: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();

示範程式碼:

<script> 
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("PHP中文网", "4", "admin@php.cn"); 
p.showData(); 
</script>

更多JavaScript資訊的封裝jsP入門相關文章請關注PHP入門網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn