Function.prototype.newcall = function() {
// console.log(this, arguments)
arguments[0].fn = this
arguments[0].fn()
}
function greet() {
var reply = [this.animal, 'typically sleep between', this.sleepDuration].join(' ');
console.log(this, reply);
}
var obj = {
animal: 'cats', sleepDuration: '12 and 16 hours'
};
//greet.call(obj); // cats typically sleep between 12 and 16 hours
greet.newcall(obj)