[~/Dropbox/src/javascript/learning]$ cat call.js
var Bob = {
name: "Bob",
greet: function() {
console.log("Hi, I'm " + this.name);
}
}
var Alice = {
name: "Alice",
};
Bob.greet.call(Alice);
[~/Dropbox/src/javascript/learning]$ node call.js Hi, I'm Alice
> function f() { console.log(this.x); }
undefined
> f.toString()
'function f() { console.log(this.x); }'
> z = { x : 99 }
{ x: 99 }
> f.call(z)
99
undefined
>
> o = { x : 15 }
{ x: 15 }
> function f(m) { console.log(m+" "+this.x); }
undefined
> f("invoking f")
invoking f 10
undefined
> f.call(o, "invoking f via call");
invoking f via call 15
undefined