Clones plain js hashes and arrays recursively. But ignores Dates and object Wrappers like Boolean(), Number() etc.
Tested in IE8, Chromium, Firefox, Opera and on Android.
Handles circular references (loops of the length 1).
If you want a more powerfull deepcloner (not fitting in 140 bytes though), consider using this one: https://gist.github.com/0d3e6ce689e76105f3ef
instanceof is another bad idea (though not too bad). A more secure isArray method can be found in https://gist.github.com/1034882 - but that's probably too long to use here. I would suggest the following solution, but alas, it is 16bytes too long:
function c(o,i,r){r=/[AO]/.exec({}.toString.call(o));if(r&&''+o!==o){r=r[0]=='A'?[]:{};for(i in o)o.hasOwnProperty(i)?r[i]=o[i]===o?r:c(o[i]):0}return r||o}