Je suis intéressé quelle est la raison d'avoir la méthode call () dans JS. Il semble que cela répète la méthode habituelle d'appel this
.
Par exemple, j'ai un code avec call ().
var obj = {
objType: "Dog"
}
f = function(did_what, what) {
alert(this.objType + " " + did_what + " " + what);
}
f.call(obj, "ate", "food");
Le résultat est "Chien a mangé de la nourriture". Mais je peux obtenir le même résultat en assignant la fonction à l'objet.
var obj = {
objType: "Dog"
}
f = function(did_what, what) {
alert(this.objType + " " + did_what + " " + what);
}
obj.a = f;
obj.a("ate", "food");
Le résultat est le même. Mais cette façon est plus compréhensible et facile à utiliser. Pourquoi call () est nécessaire?