ich über "this" in JS lerne und ich habe den folgenden Code:warum das Kontextfenster ist, wenn die "dieses" Schlüsselwort in Javascript
var person1 = {
firstName: "John",
lastName: "Snow",
printName: function(){
console.log(this);
}
}
var person2 = {
firstName: "Aria",
lastName: "Stark",
printName: function(callbackFunction){
console.log(this);
callbackFunction();
}
}
person1.printName();
person2.printName(person1.printName);
Der Ausgang dieses Codes ist:
person1
person2
Fenster
ich verstehe, warum ich zu den inhaltlichen s person1 und person2 entsprechend, aber warum, wenn ich den Callback rufe, ist der Kontext Fenster und nicht person2?
Da der Wert des 'this' durch bestimmt wird, wie die Funktion aufgerufen wird ..' callbackFunction' daher ohne Kontext global ('window') zurückgegeben ... – Rayon
Hallo Rayon, genannt wird Was ich nicht‘ Ich verstehe, warum kein Kontext? Ich rief "printName" an, wenn Person 2 der Kontext war, also warum, wenn ich die callbackFunction von "printName" aus anrufe, bleibt der Kontext nicht person2? – RiskX
Als ich die Antwort kommentierte - _ "Es ist wichtig, wie sie heißen, nicht wie sie weitergegeben werden ..." _ Verweisen ___ ['this'] (https://developer.mozilla.org/en/docs/Web/ JavaScript/Reference/Operators/this) ___ – Rayon