Sie müssen es mit var
Wie T.J in seiner Antwort sagte, wird, da Sie den strikten Modus verwenden, kein implizites globales gemacht. Deshalb wird ein Fehler ausgelöst.
Es heißt nicht i
ist nicht zugewiesen , es heißt, es ist nicht deklariert . Der Code deklariert niemals eine Variable i
, versucht dann jedoch, ihm einen Wert zuzuweisen (im Initialisierungsteil der for
-Schleife). Anscheinend verwenden Sie den strikten Modus (gut!), Und daher gibt Ihnen die Engine einen Fehler, anstatt ein implizite globale .
Deklarieren Sie i
mit var
in der Funktion, z. B .:
Randnotiz: Wenn Sie in ES6 ankommen, können Sie let
und scope i
nur zur for
-Anweisung verwenden. Aber jetzt, verwenden Sie var
.
Sie müssen es mit %code%
deklarierenWie T.J in seiner Antwort sagte, wird, da Sie den strikten Modus verwenden, kein implizites globales gemacht. Deshalb wird ein Fehler ausgelöst.
Hey Ich versuche, eine Liste aller Eingabefelder in einem HTML-Formular zu erhalten, aber ich bekomme folgenden Fehler (in Firebug):
%Vor%Ich verstehe nicht, wie "ich" nicht deklariert wird, weil das der erste Teil von "für" ist. Das ist meine Formel
%Vor%Es heißt nicht %code% ist nicht zugewiesen , es heißt, es ist nicht deklariert . Der Code deklariert niemals eine Variable %code% , versucht dann jedoch, ihm einen Wert zuzuweisen (im Initialisierungsteil der %code% -Schleife). Anscheinend verwenden Sie den strikten Modus (gut!), Und daher gibt Ihnen die Engine einen Fehler, anstatt ein implizite globale .
Deklarieren Sie %code% mit %code% in der Funktion, z. B .:
%Vor%Randnotiz: Wenn Sie in ES6 ankommen, können Sie %code% und scope %code% nur zur %code% -Anweisung verwenden. Aber jetzt, verwenden Sie %code% .
Tags und Links javascript