Witam Jestem nowy w obsłudze Javascript i czytam ostateczną wersję Oreilly's Javascript. W sekcji deklaracji oświadczenie mówi:Czy deklaracja funkcji nie może występować w instrukcji warunkowej?
Zrobiłem prosty test:
var a = 1;
while(a < 5){
a++;
function double(a){return a * 2 };
console.log(double(a));
}
Wydaje się node.js nie daje mi żadnego błędu i uruchom jako spodziewać. Wszelkie uwagi na ten temat?
Uruchom go w trybie ścisłym, a otrzymasz swój błąd. Jest to nieprawidłowa składnia * (z wyjątkiem sytuacji, w której Mozilla może implementować JS, o ile dozwolona jest podobna składnia) *, ale historycznie było to dozwolone przez implementacje. –