Ich bemerkte eine seltsame Sache in Javascript. Betrachten Sie die folgenden:JavaScript-Funktion Kontext falsch
var fn = ''.toUpperCase.call
console.log(typeof fn); // "function"
fn(); // Uncaught TypeError: `fn` is not a function
Die oben genannten wurde auf meiner Chrome Developer Console ausgeführt. Version ist 43.0.2357.81 m
.
Der Operator typeof
zeigt deutlich, dass fn
eine Funktion ist, aber der Fehler schlägt anders vor.
Ich habe festgestellt, dass Function.apply
zeigt zumindest einige sinnvolle Fehlermeldung.
Also, wann ist eine Funktion, keine Funktion?
Bitte zeigen * wie * genau Sie rufen "Fn". – deceze
Ich bekomme "undefined ist keine Funktion" beim Aufruf von 'fn', * nicht *' fn ist keine Funktion'. – Darkhogg
@deceze das ist kein Produktionscode..Ich habe zufällig eine Frage gesehen, über die ich nachgedacht habe. –