Wahrscheinlich aus produktionstechnischer Sicht irrelevant, aber ich würde gerne wissen, warum sich das so verhält. Das String-Literal wird als Objekt interpretiert.
%Vor%Ich muss anrufen
%Vor%innerhalb der Funktion, wenn ich die erwartete Ausgabe möchte. Ich weiß, Zeichenfolgen sind Objekte in Javascript (das ist schön), aber in einer einfachen console.log ('abc') werden sie natürlich als Zeichenfolgen interpretiert. Warum das? Ist das in irgendeiner Weise nützlich? Bitte ignorieren Sie die Tatsache, dass fancyCallback im globalen Gültigkeitsbereich definiert ist!
Aus MDN-Aufruf () :
thisArg
Der Wert, der für den Aufruf von fun bereitgestellt wird. Beachten Sie, dass dies möglicherweise nicht der tatsächliche Wert, der von der Methode gesehen wird: wenn die Methode a ist Funktion im nicht strikten Modus Code, Null und undefiniert wird ersetzt mit dem globalen Objekt, und Grundwerte werden eingerahmt .
Primitives [aka numbers / strings] werden in ein Containerobjekt eingefügt, so dass es genau so funktioniert, wie Sie es sehen.
Was es im Grunde macht, ist
%Vor%Tags und Links javascript string