// This example is from the book _JavaScript: The Definitive Guide_. // Written by David Flanagan. Copyright (c) 1996 O'Reilly & Associates. // This example is provided WITHOUT WARRANTY either expressed or implied. // You may study, use, modify, and distribute it for any purpose. // This is the function we'll use for the assign() method. function myassign(rhs) { var i; for (i in rhs) this[i] = rhs[i]; } myobject = new Object; // Create an object. myobject.assign = myassign; // Set the custom assign() method on it. // Now, when an object is assigned to "myobject", the properties // of that object are copied, rather than overwriting the "myobject" // variable with a reference to the other object. myobject = my_other_object; // after the above assignment, myobject and my_other_object still refer // to two separate objects, but myobject has a copy of each of the // properties of my_other_object.