bind call apply in js code example
Example 1: call apply bind
const obj = { number: 1 }
function foo() {
console.log(this.number)
}
const newFoo = foo.bind(obj)
foo.call(obj, , )
foo.apply(obj, [, ])
Example 2: bind in javascript
bind() returns a bound function that, when executed later, will have the correct context ("this") for calling the original function.
Example 3: javascript call() & apply() vs bind()?
Apply vs. Call vs. Bind Examples
Call
var person1 = {firstName: 'Jon', lastName: 'Kuperman'};
var person2 = {firstName: 'Kelly', lastName: 'King'};
function say(greeting) {
console.log(greeting + ' ' + this.firstName + ' ' + this.lastName);
}
say.call(person1, 'Hello');
say.call(person2, 'Hello');
Apply
var person1 = {firstName: 'Jon', lastName: 'Kuperman'};
var person2 = {firstName: 'Kelly', lastName: 'King'};
function say(greeting) {
console.log(greeting + ' ' + this.firstName + ' ' + this.lastName);
}
say.apply(person1, ['Hello']);
say.apply(person2, ['Hello']);
Bind
var person1 = {firstName: 'Jon', lastName: 'Kuperman'};
var person2 = {firstName: 'Kelly', lastName: 'King'};
function say() {
console.log('Hello ' + this.firstName + ' ' + this.lastName);
}
var sayHelloJon = say.bind(person1);
var sayHelloKelly = say.bind(person2);
sayHelloJon();
sayHelloKelly();