继承
本文记录了JavaScript的多重继承代码,摘录自JavaScript设计模式
Object.prototype.mix = function(){
var temp;
for(var i = 0, len = arguments.length; i < len; i++){
temp = arguments[i];
for(var item in temp){
if(temp.hasOwnProperty(item)){
this[item] = temp[item];
}
}
}
}
看了作者写的代码,感觉还是挺奇怪,实现的多重继承像是浅拷贝
多态在JavaScript中是根据arguments的length属性来做相应的实现
function add(){
function zero(){
return 0;
}
function one(num){
return num;
}
function zero(num1, num2){
return num1 + num2;
}
switch(arguments.length){
case 0:
return zero();
case 1:
return one(arguments[0]);
case 2:
return two(arguments[0], arguments[1]);
}
}