Opened 16 years ago
Closed 13 years ago
#2472 closed enhancement (worksforme)
$.clone
Reported by: | frink | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | core | Version: | |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
In writing bigger plugins it's often necessary to use clones inside of closures. JavaScript does everything by reference. but sometimes we need to create a clone. While the returned object have this capability: $().clone(); we can't use that in our plugins if what he need to clone a variable without trying to wade through the various ways to do this.
var frink = $.clone(frank);
code:
$.clone = function(obj) {
if(obj == null typeof(obj) != 'object') return obj;
var r = obj.split? [] : {}; for(var x in obj)
r[x] = clone(obj[x]);
return r;
}
Change History (2)
comment:1 Changed 15 years ago by
comment:2 Changed 13 years ago by
Resolution: | → worksforme |
---|---|
Status: | new → closed |
Between $.extend() and Array.concat.apply() it should be possible to do this already.
Note: See
TracTickets for help on using
tickets.
You could use $.extend() for objects.
For arrays, concat() is great to make a fast copy: