calling in js code example
Example: call in javascript
// let us see what exactly CALL, BIND method in JS
/* NOTE : (CALL , APPLY executes immediately) and
(BOUND - it returns bounded function that execute later)
NOTE : call will take its additinal arguments just like that
eg : XYZ.call(this , a , b , c);
NOTE : apply will take its additinal arguments as an ARRAY
eg : XYZ.apply(this , [a , b , c])
NOTE : All of them are for borrowing values(property and methods)
from another function
*/
/*CALL method {let's say we have constructor func}, we need all these
properties and methods in another function, in that way CALL is
highly useful */
function Person(name,place){
this.name = name;
this.place = place;
this.greet = function(){
return (`HEllo I am ${this.name} comes from ${this.place}`);
}
};
//I need above func prop,methods in below, let's see how to get
function Teacher(name,place,sub){
this.sub = sub;
//since i get name,place from Person function I no need to mention here
Person.call(this , name , place);
this.greeting = function(){
return(`I am ${name}, from ${place} and I teach ${this.sub}`);
}
/* also here, we don't need to mention (this.name / this.place) because,
we call them here and (this) referes to current Teacher context. try
inheriting below and check in console.
*/
}
var Te1 = new Teacher("Ranjan" , "Salem" , "JavaScript");
Te1 // all prop and methods
Te1.name // Ranjan
Te1.place //Salem
Te1.greeting() // I am Ranjan, from Salem and I teach JavaScript
// for BIND
function Student(name,place,like){
this.like = like;
//since i get name,place from Person function I no need to mention here
Person.apply(this , [name , place]);
this.about_me = function(){
return(`My name is ${name}, I come from ${place} and I
like to play${this.like}`);
}
}
var Pe1 = new Student("Max" , "Mettur" , "Cricket");
Pe1 // all prop and methods
Pe1.name // Max
Pe1.place // Metttur
Pe1.about_me() // My name is Max, I come from Mettur and I like to play cricket