Antwort an „Rolf B“ verfassen

Hallo MudGuard,

damit hast Du exakt getroffen. Danke.

function foo() {
	alert("Foo1!");
}
function foo() {
	alert("Foo2!");
}
foo();

gibt kommentarlos Foo2! aus.

Schlimmer noch - das function-Statement erzeugt keinen const-Wert, sondern eher einen var- oder let-Wert:

function foo() { alert("Foo1!"); }
foo = function() { alert("Uups!"); };
function foo() { alert("Foo2!"); }
foo();

gibt Uups! aus. Die beiden function-Statements werden nach oben gehoben (hoisting), d.h. die Zuweisung an foo erfolgt de facto hinter den beiden function statements.

Mehr dazu bei MDN und auch in unserem Wiki.

Rolf

--
sumpsi - posui - obstruxi
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen