richtige Art und Weise zu formatieren, die eine javascript-Funktion
Ganz auf die schnelle...
was ist die richtige Methode zum formatieren einer javascript-Funktion?
Sehe ich es so:
function doThis(){
}
und so:
doThis = function(){
}
Ist oder es vielleicht keinen Unterschied machen. Bitte lassen Sie mich wissen, was am besten oder, wenn Sie beide haben unterschiedliche rasons oder Zwecke.
Cheers
C
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind zwei unterschiedliche Dinge, obwohl Sie beide eine Funktion erstellen (und es einer Variablen zuweisen).
Ist ein Funktion-Anweisung (oder "- Funktion-Erklärung"). Es ist nur rechtliche erscheinen als top-level-script-element oder direkt als element einer Funktion: das heißt, es ist nicht legal für eine function-Anweisung angezeigt, die innerhalb einer
if
oderwhile
usw. Funktionieren alle Aussagen sind "gehoben" an den Anfang der Funktion (oder script), so gilt:In der form:
Dem Schlüsselwort function ist in einer Funktion-Ausdruck Kontext: es wird ein neues function-Objekt und die daraus resultierende Funktion-Objekt (nur ein "normal-Wert") zugeordnet ist
variable
. Das folgende ist nicht gültig, weil-Funktion-Ausdrücke sind nicht aufgehoben.Alle, dass gesagt wird, der "richtige Weg" ist um die Funktion zu verwenden-Anweisung ("function declaration") zu bilden, es sei denn, es gibt Grund, etwas anderes zu tun.
Happy coding.
Siehe auch:
Es ist eine wichtige und auch nützliche Unterschied zwischen diesen Schreibweisen.
Kapselung
In OOP ist es sehr nützlich, um die Kapselung, die einen Mechanismus für die Beschränkung des Zugangs zu anderen Objekten. Der Unterschied zwischen öffentlichen und privaten vars/Funktionen in javascript könnte erklärt wie diese:
Tests öffentlichen
Öffentlichen Variablen und Funktionen innerhalb der eine color-Instanz zugänglich:
Testen Soldaten
Private Variablen und Funktionen nicht zugegriffen werden kann, von der Farbe-Instanz:
HINWEIS
Es könnte besser sein, auf das gute, alte Prototypen, wenn Sie öffentliche Funktionen, weil diese Art der Codierung zu Problemen führen könnte, mit inheritence.
Schauen Sie sich die erste einige 10-15 Folien aus [1], Sie sprechen über diese
[1] http://ejohn.org/apps/learn/