Frage zum Wiki-Artikel „Funktion“
bearbeitet von Rolf BHallo alle,
der verlinkte Wiki-Artikel sagt, dass dieser Code verboten sei:
~~~js
if (a > 4) { // Untergeordneter Anweisungsblock beginnt
function berechne(q) { // Nicht erlaubt!
return q*4;
}
} else {
function berechne(q) { // Nicht erlaubt!
return q*7;
}
}
~~~
Begründung: Wegen des Hoistings käme es zu einer Namenskollision.
Ich habe das gerade in Chrome probiert, und stelle fest:
- die Funktion wird nicht vor die geschweifte Klammer gehoben, in der sie definiert ist
- abhängig vom Wert von a wird der passende Funktionsbody verwendet.
Ist das neu in Chrome? Ist das nur in Chrome?
Dass es programmierte Sch... ist, will ich nicht abstreiten.
_Rolf_
--
sumpsi - posui - obstruxi