Я отладка некоторых проблем я, имеющими на Socket.io и наткнулся accross этого (линии 345):вызова функции JS с кронштейнами
var current = this.manager.transports[this.id];
однако
typeof this.manager.transports = [Function]
и заявление выглядит следующим образом (lib/manager.js
линия 928):
Manager.prototype.transports = function (data) {
//some stuff, returns an array
}
Может кто-то объяснить, что это здесь? Не хватает ли скобок transports()[this.id]
?
Спасибо!
UPDATE Вот код для функции
Manager.prototype.transports = function (data) {
var transp = this.get('transports')
, ret = [];
for (var i = 0, l = transp.length; i < l; i++) {
var transport = transp[i];
if (transport) {
if (!transport.checkClient || transport.checkClient(data)) {
ret.push(transport);
}
}
}
return ret;
};
Не видя больше кода, он неопределен. Даже если это функция, нет ничего неправильного в доступе к свойствам объекта (потому что запомнить, функции - объекты). Посмотрите внимательно на ** конец ** задания, где в вашем комментарии говорится: «возвращает массив». – Pointy
@Pointy обновил мой ответ, чтобы показать код функции – scanales
Так что это код в socket.io где-нибудь? Где код? Я не могу найти «transport.js» в текущем репозитории github (ну, по крайней мере, я нашел). – Pointy