日期:2014-05-16 浏览次数:20458 次
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)定义不同的类
?
?
?
?