2017-01-29 2 views
1

ich bin ein Neuling Javascripter, aus C++/C#. im a tutorial Lernen, das die folgenden Linien hat:Javascript eckige Klammern in Funktionsaufruf verwendet

​function getUserInput(firstName, lastName, callback, callbackObj) { 
​ 
    callback.apply (callbackObj, [firstName, lastName]); 
} 

Dies war ein Beispiel einer Callback-Funktion innerhalb einer anderen Funktion verwendet wird.

und ich frage mich, über diese Linie:

callback.apply (callbackObj, [firstName, lastName]); 

was bedeuted a [] in einer Funktion zu verwenden?

+2

Sieht für mich wie ein Array aus. – David

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Syntax – melpomene

Antwort

1

Da Sie apply verwenden, wird angenommen, dass die Callback-Methodensignatur 2 String-Parameter hat: firstName und lastName. Die callbackObj ist der Kontext an die Methode übergeben werden (falls es this nennen)

Weitere Daten here

+0

cool, danke :) – Yatir

+0

@Yatir froh, ich könnte helfen. Bitte markieren Sie als akzeptiert, wenn das Ihre Frage beantwortet :) –

+0

Eigentlich ist dies die Annahme über 'callback.apply', dh es wird vorausgesetzt, dass' callback.apply (foo, bar) '' gleich 'Function.prototype.apply.call ist (Rückruf, foo, bar) ' –

1

Dies ist ein Literal für ein Array. In diesem Fall besteht es aus 2 Elementen, wobei das erste firstName das zweite lastName ist.