JAVASCRIPT-继承
//无限对象的继承
function apply(){
var l=arguments.length;
if(l<1)return null; //无参数
if(l>2){ //多于两个
apply(arguments[0],arguments[l-1]); //从最后一个开始继承
arguments.length=l-1; //去掉最后一个参数然后递归
apply(arguments);
}
//两个参数
if(arguments[0]&&arguments[1]&&typeof arguments[1]=="object"){
for(var A in arguments[1]){
arguments[0][A]=arguments[1][A];
}
}
return arguments[0];
};
//这个继承,如果两个对象的属性相同,则后被继承的对象属性将覆盖前被继承对象属性
//关于function对象参数问题,都有arguments对象管理;写一个方法(定义好有参数的),在调用的时候可以少传,或者不传参数
var a = new Object();
a.aa = "a对象属性aa";
a.bb = "a对象属性bb";
a.cc = "a对象属性cc";
var b = {aa:'b对象属性aa',bb:'b对象属性bb',cc:'b对象属性cc'};
var c = new Object();
var obj = apply(c,b,a);
for(var i in c)
{
//alert(i+":" + obj[i]);
}
function apply(){
var l=arguments.length;
if(l<1)return null; //无参数
if(l>2){ //多于两个
apply(arguments[0],arguments[l-1]); //从最后一个开始继承
arguments.length=l-1; //去掉最后一个参数然后递归
apply(arguments);
}
//两个参数
if(arguments[0]&&arguments[1]&&typeof arguments[1]=="object"){
for(var A in arguments[1]){
arguments[0][A]=arguments[1][A];
}
}
return arguments[0];
};
//这个继承,如果两个对象的属性相同,则后被继承的对象属性将覆盖前被继承对象属性
//关于function对象参数问题,都有arguments对象管理;写一个方法(定义好有参数的),在调用的时候可以少传,或者不传参数
var a = new Object();
a.aa = "a对象属性aa";
a.bb = "a对象属性bb";
a.cc = "a对象属性cc";
var b = {aa:'b对象属性aa',bb:'b对象属性bb',cc:'b对象属性cc'};
var c = new Object();
var obj = apply(c,b,a);
for(var i in c)
{
//alert(i+":" + obj[i]);
}