Wie wir alle wissen, das folgende die a() Funktion so die Warnfeld nichtJS - Zuweisung Funktion Variable
// 1st
function a() {
alert('A!');
return function() {
alert('B!');
};
};
und wir scheinen nicht ausgeführt weiß, dass der folgende Code die a() Funktion und Alarmbox 'A!' erscheint
// 2nd
function a() {
alert('A!');
return function() {
alert('B!');
};
};
a(); // calling function
jedoch, wenn wir laufen folgenden Code, der a() Funktion wird und Warnfeld aufgerufen werden 'A!' wird auch, genau wie der zweite Code oben
// 3rd
function a() {
alert('A!');
return function() {
alert('B!');
};
};
var x = a(); // assigning function to new variable
FRAGE erscheinen: warum diese (am 3. Snippet) passiert das? Wir haben die Funktion a() noch nicht aufgerufen (mein derzeitiges Verständnis). Haben wir nicht einfach x einer a-Funktion zugewiesen?
'()' dies wird die Funktion aufrufen.Und wird den Rückgabewert dieser Funktion 'x' zuweisen. –
Alles mit Klammern'() 'findet die Funktion/Methode dieses Namens und ruft sie auf ... Egal wo du schreibst! – Rayon
* Wir haben die a() Funktion nicht aufgerufen * - ja du hast – Pointy