ohne var -> endlose Schleife
nina
- javascript
hi,
was ist der unterschied zwischen einer variable, die man nicht per var ... definiert und einer var variable?
var n;
for(n=0;n<node.childNodes.length;n++)
{
test(node.childNodes[n],t);
}
=> funktioniert korrekt
//var n;
for(n=0;n<node.childNodes.length;n++)
{
test(node.childNodes[n],t);
}
=> ohne var endet das script NIE :(
würde mich über eine kleine erklärung freuen.
thx
Hallo,
was ist der unterschied zwischen einer variable, die man nicht per var ... definiert und einer var variable?
Erstere wirken global, zweitere nur innerhalb einer Funktion.
//var n;
for(n=0;n<node.childNodes.length;n++)
{
test(node.childNodes[n],t);
}
=> ohne var endet das script NIE :(
Dann kommt sich die for-Schleife wahrscheinlich mit einer globalen Schleife ins Gehege.
Im übrigen: gewöhne dir an, Variablen IMMER mit „var“ zu deklarieren. Das ist sauberer. Wenn du globale Variablen brauchst, schreibe lieber window davor. Das ist übersichtlicher.
Wenn du Firefox in den JS-Strict-Mode schaltest, wird er dir das auch sagen. (about:config > javascript.options.strict)
mfg. Daniel
Hi,
was ist der unterschied zwischen einer variable, die man nicht per var ... definiert und einer var variable?
deklariert, nicht definiert. Eine per 'var' deklarierte Variable ist im lokalen Scope angesiedelt, ohne 'var' landet sie im globalen Scope, also dem window-Objekt (und liefert eine Warnung in die JavaScript-Konsole entsprechend ausgestatteter Browser).
=> ohne var endet das script NIE :(
würde mich über eine kleine erklärung freuen.
Irgend etwas greift zeitgleich auf window.n zu.
Cheatah