function object(o) { function F() {} F.prototype = o; return new F(); } function createAnother(original) { var clone = object(original); clone.sayName = function () { alert(this.name); } return clone; } var person = { name: "Tom", colors: ["red", "blue"] } var p1 = createAnother(person); p1.sayName();