What is This?
Demonstration of This
JavaScript
var obj1 = {
foo: "this",
bar: function () {
return this.foo;
}
}, obj2 = {
foo: "that",
bar: obj1.bar
},
obj3 = {
foo: "the other"
};
obj3.bar = obj1.bar.bind(obj1);
console.log(obj1.bar());
console.log(obj2.bar());
console.log(obj3.bar());
console.log(obj1.bar.call(obj3));