clone.html revision 1b298c6f0ef597aa4ab0b8bcb25430b6c9a87749
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<script type="text/javascript" src="http://yui.yahooapis.com/3.0.0pr2/build/yui/yui-min.js"></script>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<script type="text/javascript" src="/build3x/yui/yui-debug.js"></script>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein base: '/build3x/',
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein filter: 'debug'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein }).use('oop', 'dump', function(Y) {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein str: "object1",
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt { obj: "obj"},
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User dat: new Date(),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fn: function() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein regex: /foo/,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // var o2 = Y.clone(o, true);
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserYUI().use('oop', 'dump', function(Y) {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name: 'object',
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User id: 'object1'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein o2.id = 'object2';
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User base: '/build3x/'
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User }).use('dump', 'attribute', function(Y) {
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User var newobj = {},
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark Andrews { obj: "obj"},
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark Andrews dat: new Date(),
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark Andrews fn: function() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein regex: /foo/,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User //win: window,
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews o.date = new Date(0);
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews // o.obj.a = ['changed'];
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // o.obj = { changed: 'changed' };
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews // o2.obj = { changed: 'copy' };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein o.obj.a[0] = 'changed'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // cloned regex literals do not work
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User // Y.log("fixed regex: " + "i have foo".match(o2.regex));
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User o.foo = "NewPropShouldNotBeInO2";
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User function A() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein var a = new A();
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A.prototype.str = "StrShouldNotBeUpdatedInB";
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein var seed = { foo : { bar : 'bar' } };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein var clone = Y.clone(seed);
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Y.log(1,'seed.foo.bar: ' + seed.foo.bar); // 'bar'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Y.log(1,'clone.foo.bar: ' + clone.foo.bar); // 'bar'
seed.foo.bar = 'foo';
delete clone.foo.bar;
Y.log(/adam/ instanceof RegExp);