WarumFunktion in Javascript aus Bedingungsanweisung Hebe
var y = 1;
if (function f(){}) {
y += typeof f;
}
console.log(y); // 1undefined
Bevor Code ausgeführt nehme ich es 1function
sein wird, nehme ich an, dass hinter Funktion Hebe f für alle Code sichtbar sein soll. Können Sie eine solche Verhaltensbeschreibung verlinken?
P. S> bei Blog-Post, wo ich dieses Beispiel finden es gibt Erklärung
Der Ausgang 1undefined würde. Die if-Bedingungsanweisung wird mit eval ausgewertet, sodass eval (Funktion f() {}) die Funktion f() {} zurückgibt (was wahr ist). Daher gibt die Ausführung von f in der if-Anweisung undefined zurück, da der if-Anweisungscode zur Laufzeit ausgeführt wird und die Anweisung innerhalb der if-Bedingung zur Laufzeit ausgewertet wird.
Aber es spielt keine Situation klarer machen hier
was ist die Frage? und was ist der Zweck? –
Ich nehme an, es wird "1function" –
Ich weiß, aber warum versuchen Sie das zu tun? Kannst du ein Beispiel aus der realen Welt geben? Ich bin nur neugierig –