2009-08-26 6 views

Antwort

7

Dieser Artikel könnte Ihre Frage beantworten: JavaScript function declaration ambiguity.

Nur die erste ist eine tatsächliche Funktionsdeklaration, während die shorthand-Methode nur eine reguläre Variablendeklaration ist, der eine anonyme Funktion als Wert zugewiesen ist.

(Blick auf die Kommentare, auch, und das auch einige nützliche Informationen bekommen könnte)

+2

Seien Sie vorsichtig mit den Kommentaren; Einige von ihnen sind falsch. –

+3

Ein Link kann alles erklären, aber es ist immer ein bisschen schöner, hier eine kleine Zusammenfassung zu haben. – Trilarion

-1

Es gibt keinen Unterschied oberflächlich ist, so können Sie beide Formate in Ihrem Code verwenden.

Um js-Interpreter ist es jedoch anders.

Der erste ist eine benannte Funktion.

Zweite ist eine anonyme Funktion, die einer Variablen zugewiesen wird.

Während des Debuggens erhalten Sie auch keinen Namen für die zweite Funktion im Stack-Trace.

9

Ich weiß, dass ein Unterschied zwischen ihnen ist, dass benannte Funktionen überall funktionieren, unabhängig davon, dass Sie sie deklarieren, Funktionen in Variablen nicht.

a();//works 
function a(){..} 

arbeitet

a();//error 
var a=function(){..} 

nicht funktioniert, aber wenn Sie es nach der Erklärung nennen es funktioniert

var a=function(){..} 
a();//works