Ticket #3087: 3087.patch

File 3087.patch, 774 bytes (added by Garry Yao, 10 years ago)
  • _source/core/tools.js

     
    6262                 */
    6363                clone : function( object )
    6464                {
    65                         var clone = {};
     65                        if( object === null || typeof( object ) != 'object')
     66                                return object;
     67                               
     68                        var clone = new object.constructor();
    6669
    6770                        for ( var propertyName in object )
    6871                        {
     
    6770                        for ( var propertyName in object )
    6871                        {
    6972                                var property = object[ propertyName ];
    70 
    71                                 if ( typeof property == 'object' )
    72                                         property = this.clone( property );
    73 
    74                                 clone[ propertyName ] = property;
     73                                clone[ propertyName ] = this.clone( property );
    7574                        }
    7675
    7776                        return clone;
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy