bug with extend?
change /6 shows the problem
/8 show it working if a simpler tier is used
/13 shows the solution -- DEEP copy
by Gerald Gillespie
HTML
d1:<span id='d1'></span>
<br/>
d2:
<span id='d2'></span>
CSS
div{border:1px solid}
JavaScript
var n = 'n',
o = {},
p={};
o = { tier1a : {tier2 : { }},
tier1b : 1} ;
o['tier1a']['tier2'] = ["one", "two", "three"];
$('#d1').data(n, $.extend(true,{},o)); // DEEP COPY
$('#d1').text(o.tier1a.tier2.toString());
//$('#d1').text(o.tier1b);
p = $.extend(true,{},o);
$('#d1').data(n).tier1a.tier2 = [];
$('#d1').data(n).tier1b = 2;
$('#d2').text( o.tier1a.tier2.toString());
//$('#d2').text( o.tier1b);