Changeset 2060 for lang/javascript/clone
- Timestamp:
- 11/27/07 19:23:30 (6 years ago)
- Location:
- lang/javascript/clone/trunk
- Files:
-
- 4 added
- 2 modified
-
clone.html (modified) (4 diffs)
-
clone.js (modified) (1 diff)
-
toSource.html (added)
-
toSource.js (added)
-
uneval.html (added)
-
uneval.js (added)
Legend:
- Unmodified
- Added
- Removed
-
lang/javascript/clone/trunk/clone.html
r2030 r2060 1 1 <head> 2 <script src="toSource.js"></script> 2 3 <script src="clone.js"></script> 3 <script language="JavaScript" src="http://www.kawa.net/works/js/jkl/share/jkl-dumper.js"></script>4 4 <script> 5 5 function p(s){ … … 19 19 var a2 = a.clone(); 20 20 a2[4] = 4; 21 p(a2); 21 22 p(a); 22 p(a2);23 23 var o = {}; 24 24 for (var k in o) p(k, ':', o[k]); … … 26 26 'Array':[0,1,2,3, { 'Number':1, 'String':'abc', 'Boolean':false }] 27 27 }; 28 p( (new JKL.Dumper()).dump(o));28 p(o.toSource()); 29 29 var o2 = o.clone(); 30 30 o2['clone'] = 'just a string'; 31 p((new JKL.Dumper()).dump(o)); 32 p((new JKL.Dumper()).dump(o2)); 33 31 p(o2.toSource()); 32 p(o.toSource()); 34 33 </textarea></dd> 35 34 <dd><input type="submit" value="Run" onclick=" … … 41 40 document.getElementById('stderr').innerHTML = e; 42 41 } 43 "></dd> 42 "> 43 <input type="submit" value="Clear" onclick=" 44 document.getElementById('stdout').innerHTML = ''; 45 document.getElementById('stderr').innerHTML = ''; 46 "> 47 </dd> 44 48 <dt>stdout:</dt> 45 49 <dd><div id="stdout"></div></dd> -
lang/javascript/clone/trunk/clone.js
r2031 r2060 16 16 var clone = new (this.constructor); 17 17 for (var p in this) { 18 if (!this.hasOwnProperty(p)) continue; 18 19 clone[p] = typeof this[p] == 'object' ? this[p].clone() : this[p]; 19 20 } 20 21 return clone; 21 22 } 22 // Array needs some special care23 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 31 23 })();
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)