|
復制代碼 代碼如下:
/**
* $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)定義不同的類
JavaScript技術:javascript 寫類方式之五,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。