当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript 写类方式之五

Javascript
js返回当前网页的url
简明json介绍
JavaScript在IE中“意外地调用了方法或属性访问”
JS获得鼠标位置(兼容多浏览器ie,firefox)修正版
JavaScript 基础问答 四
支持多浏览器(IE、Firefox、Opera)剪切板复制函数
js 解决“options为空或不是对象”
走出JavaScript初学困境—js初学
JavaScript入门教程(6) Window窗口对象
JavaScript 快捷键设置实现代码
Extjs Ajax 乱码问题解决方案
JavaScript 实现模态对话框 源代码大全
[原创]js 日期加红代码 适用于各种cms
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
[原创]javascript 改变字体大小方法集合
javascript 单行文字向上跑马灯滚动显示
一个简单的javascript类定义例子
javascript 类定义的4种方法
javascript类继承机制的原理分析
firefox(火狐)和ie浏览器禁止右键和禁止复制的代码

Javascript 中的 javascript 写类方式之五


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 433 ::
收藏到网摘: n/a

用 构造函数+原型 定义一个类;同一构造函数可以定义出多个类型 5、用 构造函数+原型 定义一个类;同一构造函数可以定义出多个类型
复制代码 代码如下:

/**
* $define 写类工具函数之二
* @param {Object} constructor
* @param {Object} prototype
*/
function $define(constructor,prototype) {
var c = constructor || function(){};
var p = prototype || {};
return function() {
for(var atr in p)
arguments.callee.prototype[atr] = p[atr];
c.apply(this,arguments);
}
}

与第四种方式类似,仍然用构造函数,原型对象,定义两个类。
复制代码 代码如下:

//构造函数
function Person(name) {
this.name = name;
}
//原型对象
var proto = {
getName : function(){return this.name},
setName : function(name){this.name = name;}
}
//定义两个类
var Man = $define(Person,proto);
var Woman = $define(Person,proto);
console.log(Man == Woman);//false,同一个构造函数(Person)定义不同的类