JavaScript面向对象程序设计(6): 封装
2009-09-11 00:00:00 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簻椤掋垺銇勯幇顖毿撻柟渚垮妼椤粓宕卞Δ鈧獮濠勭磽閸屾艾鈧懓顫濋妸鈺佺疅缂佸顑欓崥瀣煕椤愵偅绶氱紓鍐╂礋濮婂宕掑▎鎴М濠电姭鍋撻梺顒€绉甸幆鐐哄箹濞n剙濡肩紒鎰殜閺屸€愁吋鎼粹€茬敖婵炴垶鎸哥粔鐢稿Φ閸曨垰鍐€妞ゆ劦婢€濞岊亪姊虹紒妯诲蔼闁稿海鏁诲濠氭晲婢跺﹤宓嗛梺缁樺姈缁佹挳宕戦幘璇叉嵍妞ゆ挻绋戞禍鐐叏濡厧浜鹃悗姘炬嫹

Person.num = 0; // 静态属性
function Person() {
this.show = function() {
alert("num: " + Person.num);
};
Person.num++;
}
var bill = new Person();
bill.show(); // 1
var tom = new Person();
tom.show(); // 2
bill.show(); // 2
在JavaScript中可以很方便的添加静态属性,因为JavaScript的对象就是散列,所以只要简单的在类名后添加一个属性或者函数即可。
4. 访问私有变量和公有变量
当对私有变量进行访问时,只需要使用变量的名字就可以了,但是,如果要访问公有变量,则需要使用this关键字。
function Person(name, age) {
this.myName = name;
var myAge = age;
this.show = function() {
alert("show = name: " + this.myName + "; age: " + myAge);
}
var showAll = function() {
alert("showAll = name: " + this.myName + "; age: " + myAge);
}
}
var bill = new Person("Bill", 20);
bill.show();
在这里,如果去掉myName的this关键字,就会有未定义属性的错误。
简单来说,我们需要使用this来声明公有变量,使用var来声明私有变量。但是,JavaScript却不是那么简单,因为JavaScript是一个脚本语言,我们需要十分关心它的执行效率。下面,我们将会看一下JavaScript面向对象设计的最佳实践。
出处: http://devbean.blog.51cto.com/448512/174924
编缉推荐阅读以下文章
- JavaScript面向对象程序设计(8): 优雅的封装还是执行的效率?
- JavaScript面向对象程序设计(7): 闭包
- JavaScript面向对象程序设计(5): 类
- JavaScript面向对象程序设计(4): 函数
- JavaScript面向对象程序设计(3): 对象
- JavaScript面向对象程序设计(2): 数组
- JavaScript面向对象程序设计(1): 前言
- 理解JavaScript面向对象的思路
- Javascript面向对象详解(第一部分)
- JavaScript面向对象的支持(下)
Tags:JavaScript 面向 对象
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接