Bug Tracker

Ticket #2472 (new enhancement)

Opened 6 months ago

Last modified 3 weeks ago

$.clone

Reported by: frink Assigned to: anonymous
Type: enhancement Priority: minor
Milestone: Component: core
Version: Keywords:
Cc: Needs: Review

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;

}

Attachments

Change History

Changed 3 weeks ago by genezys

You could use $.extend() for objects.

var frink = $.extend({}, frank);

For arrays, concat() is great to make a fast copy:

var copy = array.concat();
Note: See TracTickets for help on using tickets.