Here's an evil way to apply a method from one object, to another object. Note that this code doesn't even clean up after itself if o2 already had a show method; it should check for that case.

Results

var o1 = {name: 'o1', show: function() { log(this.name); }};
var o2 = {name: 'o2'};
o1.show();
o2.show = o1.show;
o2.show();
delete o2.show;