icefeeling的家园

生活就是一本书,需要我们用心去读

 

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]);    
}

posted on 2008-12-08 20:07  lzb  阅读(183)  评论(0编辑  收藏  举报

导航