2017-01-29 4 views
1

im a newbie javascripter, исходящий из C++/C#. им обучения учебника, который имеет следующие строки:Квадратные скобки Javascript, используемые при вызове функции

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

это был пример использования функции обратного вызова внутри другой функции.

и мне было интересно об этой линии:

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

чем смысл использования [] внутри функции?

+2

Похож на массив для меня. – David

+0

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

ответ

1

Поскольку вы используете apply, предполагается, что подпись метода обратного вызова имеет 2 строковых параметра: firstName и lastName. CallbackObj контекст передается методу (в случае, если он будет вызывать this)

Подробнее here

+0

классный, спасибо :) – Yatir

+0

@Ятир рад, что я мог бы помочь. Пожалуйста, отметьте как принято, если это ответит на ваш вопрос :) –

+0

Собственно, это предположение о 'callback.apply', т. Е. Предполагается, что' callback.apply (foo, bar) 'равно' Function.prototype.apply.call (callback, foo, bar) ' –

1

Это буквальный для массива. В этом случае он состоит из двух элементов, первый из которых firstName второй lastName.

Смежные вопросы