2012-01-19 2 views
1

я копал через в какой-то код (асинхронном модуль для nodejs) и побежал в следующие обозначения:квадратные скобки обозначения (не относится к объекту доступа!)

return fn.apply(null, [async.forEachSeries].concat(args)); 

если видел эту запись, используя квадратные скобки много, но понятия не имею, кто именно это означает. Это связано с ES5?

приветствия!

ответ

2

Это действительно очень просто. Вы в основном склеиваете два массива вместе и передаете результирующий массив в качестве второго аргумента для применения. См:

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/concat

.: например

// this should clarify 
console.log([1, 2, 3].concat([4, 5])); 
+0

wow okay, конечно, я знаю массив буквально, но не понял, что это просто та же самая прямая передача .... я сейчас чувствую себя глупо. поэтому приведенный выше код в основном такой же, как и запись 'args.unshift (async.forEachSeries); return fn.apply (null, args); 'right? – zaphod1984

0

Это список. Вы можете сделать:

[1,2,3,4,5] 

Чтобы получить список в JavaScript, и concat является метод списка.

0

Это обозначение для литералов массива. Следующий код создает массив с 4-х элементов:

var x = [1, 4, 9, 16]; 

Массив представляет собой объект и имеет такие методы, как concat объединить два массива и создать новый массив.

1

Выражение [async.forEachSeries] помещает свойство forEachSeries в массив, затем соединяет этот массив с массивом args.

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