|<- [[jsfn:Expanding functionality through prototype]]|[[jsfn:Using the arguments parameter]] ->|
=== Call & Apply (indirect invocation) ===
- permet de définir la valeur de l'argument **this**
- Control: **this** and **arguments**
- **Call** passe une valeur, **Apply** un array
var speak = function (what) {
console.log(this.love)
}
var saySomething = {normal: "meow", love: "purr"} // ça pourrait être des fonctions en attributs
speak.call(saySomething); // purr
var speak = function (what) {
console.log(what)
}
var saySomething = {normal: "meow", love: "purr"}
speak.call(saySomething, saySomething.normal); // le deuxième argument va devenir le what plus haut ! // meow
var speak = function (what) {
console.log(what)
console.log(this.love)
}
var saySomething = {normal: "meow", love: "purr"} // ça pourrait être des fonctions en attributs
speak.apply(saySomething, ["meouff"]); // meouff, purr