window.name = "Window Doe";
var globalGreet = function() {
return "My name is " + this.name; // this refers to window
};
console.log( globalGreet() ); // returns 'My name is Window Doe'
var johnDoe = {
name : "John Doe",
greet : globalGreet
};
console.log( johnDoe.greet() ); // returns 'My name is John Doe'
var person = {
name : "John Doe",
greet : function() {
return "Hi there " + this.name; // this refers to person
}
};
console.log( person.greet() ); // returns 'My name is John Doe'
var bindDoe = {
name : "Bind Doe",
greet : window.globalGreet.bind(window)
};
console.log( bindDoe.greet() ); // returns 'My name is Window Doe' |
window.name = "Window Doe";
var globalGreet = function() {
return "My name is " + this.name; // this refers to window
};
console.log( globalGreet() ); // returns 'My name is Window Doe'
var johnDoe = {
name : "John Doe",
greet : globalGreet
};
console.log( johnDoe.greet() ); // returns 'My name is John Doe'
var person = {
name : "John Doe",
greet : function() {
return "Hi there " + this.name; // this refers to person
}
};
console.log( person.greet() ); // returns 'My name is John Doe'
var bindDoe = {
name : "Bind Doe",
greet : window.globalGreet.bind(window)
};
console.log( bindDoe.greet() ); // returns 'My name is Window Doe'
Example:
var makeRequest = function(url, callback) {
// make the request with the provided url
var data = 10; // json text xml
callback(data);
};
var obj = {
someValue : 20,
loadData : function(data) {
var sum = this.someValue + data;
alert(sum); // alerts '30'
},
prepareRequest : function() {
var url = "http://numberservice.com";
makeRequest(url, this.loadData.bind(this));
}
}; |
var makeRequest = function(url, callback) {
// make the request with the provided url
var data = 10; // json text xml
callback(data);
};
var obj = {
someValue : 20,
loadData : function(data) {
var sum = this.someValue + data;
alert(sum); // alerts '30'
},
prepareRequest : function() {
var url = "http://numberservice.com";
makeRequest(url, this.loadData.bind(this));
}
};