面向对象的编程思想在javascript中的运用(上)
2009-11-26 00:00:00 来源:WEB开发网核心提示: 运行后我们可以看到弹出一个对话框,显示出这个叫张三的人的信息:我们还可以看看对象的constructor属性来看看zhangsan的构造函数是不是我们定义好的Person:alert(zhangsan.constructor);结果如图:图片看不清楚?请点击这里查看原图(大图),面向对象的编程思
运行后我们可以看到弹出一个对话框,显示出这个叫张三的人的信息:
我们还可以看看对象的constructor属性来看看zhangsan的构造函数是不是我们定义好的Person:
alert(zhangsan.constructor);
结果如图:
图片看不清楚?请点击这里查看原图(大图)。
可以看到,正是我们的Person构造函数。
不过,这里还是有点问题,每一次我们构造一个对象,都会在内存中为属性和方法分配内存空间,而事实上,所有的对象完全可以用同一个方法,并不需要有多个方法的副本,这样有些浪费内存空间。既然意识到了这个问题,让我们来想想如何解决吧。一个很自然的想法是,既然我们只想为方法分配一次内存空间,那么我们可以设置一个值用来标识方法的内存空间是否已经分配,按照这个思路,我们将构造函数做如下修改:
function Person(name, sex, age) {
this.name = name;
this.sex = sex;
this.age = age;
if (typeof Person._initialized == "undefined") {
this.showInfo = function() {
alert("姓名:" + this.name + " 性别:" + this.sex + " 年龄:" + this.age);
}
Person._initialized = true;
}
}
编缉推荐阅读以下文章
- 暂无相关文章
- ››面向对象的JS-私有成员变量实现方式
- ››面向对象的JavaScript (一、对象基础,使用函数来...
- ››编程实例 一个简单的智能感知效果
- ››面向对象数据库 db4o 之旅,第 4 部分: 使用 dRS
- ››对象存储不给高性能计算添堵
- ››面向 Java Web 应用程序的 OpenID,第 2 部分: 为...
- ››面向 Java 开发人员的 db4o 指南: 简介和概览
- ››面向 Java 开发人员的 db4o 指南: 查询,更新和一...
- ››面向 Java 开发人员的 db4o 指南: db4o 中的数据库...
- ››面向 Java 开发人员的 db4o 指南: 超越简单对象
- ››面向 Java 开发人员的 db4o 指南: 结构化对象和集...
- ››面向 Java 开发人员的 db4o 指南: 事务、分布和安...
更多精彩
赞助商链接