Changeset 2060 for lang/javascript/clone

Show
Ignore:
Timestamp:
11/27/07 19:23:30 (6 years ago)
Author:
dankogai
Message:

added {toSource,uneval}.{js,html}

Location:
lang/javascript/clone/trunk
Files:
4 added
2 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/clone/trunk/clone.html

    r2030 r2060  
    11<head> 
     2<script src="toSource.js"></script> 
    23<script src="clone.js"></script> 
    3 <script language="JavaScript" src="http://www.kawa.net/works/js/jkl/share/jkl-dumper.js"></script> 
    44<script> 
    55function p(s){ 
     
    1919var a2 = a.clone(); 
    2020a2[4] = 4; 
     21p(a2); 
    2122p(a); 
    22 p(a2); 
    2323var o = {}; 
    2424for (var k in o) p(k, ':', o[k]); 
     
    2626  'Array':[0,1,2,3, { 'Number':1, 'String':'abc', 'Boolean':false }] 
    2727}; 
    28 p((new JKL.Dumper()).dump(o)); 
     28p(o.toSource()); 
    2929var o2 = o.clone(); 
    3030o2['clone'] = 'just a string'; 
    31 p((new JKL.Dumper()).dump(o)); 
    32 p((new JKL.Dumper()).dump(o2)); 
    33  
     31p(o2.toSource()); 
     32p(o.toSource()); 
    3433</textarea></dd> 
    3534<dd><input type="submit" value="Run" onclick=" 
     
    4140    document.getElementById('stderr').innerHTML = e; 
    4241  } 
    43 "></dd> 
     42"> 
     43<input type="submit" value="Clear" onclick=" 
     44  document.getElementById('stdout').innerHTML = ''; 
     45  document.getElementById('stderr').innerHTML = ''; 
     46"> 
     47</dd> 
    4448<dt>stdout:</dt> 
    4549<dd><div id="stdout"></div></dd> 
  • lang/javascript/clone/trunk/clone.js

    r2031 r2060  
    1616        var clone = new (this.constructor); 
    1717        for (var p in this) { 
     18            if (!this.hasOwnProperty(p)) continue; 
    1819            clone[p] = typeof this[p] == 'object' ? this[p].clone() : this[p]; 
    1920        } 
    2021        return clone; 
    2122    } 
    22     // Array needs some special care 
    23     Array.prototype.clone = function(){ 
    24         var clone = []; 
    25         for (var i = 0, l = this.length; i < l; i++) { 
    26             clone[i] = typeof this[i] == 'object' ? this[i].clone() : this[i]; 
    27         } 
    28         return clone; 
    29     } 
    30  
    3123})();