WEB开发网
开发学院网页设计JavaScript javascript设计模式交流 阅读

javascript设计模式交流

 2010-09-14 13:17:22 来源:WEB开发网   
核心提示: Array只要保证length正确就可以了//function arrayClone(){var ret=new Array();for(var p in this){ret[p]=this[p];}return ret;}//function arrayDeepClone(){var r

Array只要保证length正确就可以了

/************************************/
    function arrayClone()
    {
        var ret=new Array();
        for(var p in this)
        {
            ret[p]=this[p];
        }
        return ret;
    }
/************************************/
    function arrayDeepClone()
    {
        var ret=new Array();
        for(var p in this)
        {
            if(typeof ret[p]!=object)ret[p]=this[p];
            ret[p]=objectDeepClone.call(this[p]);
        }
        return ret;
    }
/************************************/
    function arrayPrototypeClone()
    {        
        var tmp=Array.prototype;
        Array.prototype=this;
        var ret=new Array();
        Array.prototype=tmp;
        return ret;
    }
/************************************/

Date对象提供了getTime 所以可以很容易实现

/************************************/
    function dateClone()
    {
        var ret=new Date();
        ret.setTime(this.getTime());
        for(var p in this)
        {
            ret[p]=this[p];
        }
        return ret;
    }
/************************************/
    function dateDeepClone()
    {
        var ret=new Date();
        ret.setTime(this.getTime());        for(var p in this)
        {
            if(typeof ret[p]!=object)ret[p]=this[p];
            ret[p]=objectDeepClone.call(this[p]);
        }
        return ret;
    }
/************************************/
    function datePrototypeClone()
    {        
        var tmp=Date.prototype;
        Date.prototype=this;
        var ret=new Date();
        ret.setTime(this.getTime());
        Date.prototype=tmp;
        return ret;
    }
/************************************/

上一页  1 2 3 4 5 6 7 8  下一页

Tags:javascript 设计模式 交流

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接