Главная / Javascript 1.8 / Для того что бы сделать из любого объекта "издателя" в паттерне "подписчик/издатель" (Publish/Subscribe) с помощью этого кода, нужно использовать функцию: var publisher = { subscribers: { any: [] }, subscribe: function (fn, type) { type = type || 'any'; i

Для того что бы сделать из любого объекта "издателя" в паттерне "подписчик/издатель" (Publish/Subscribe) с помощью этого кода, нужно использовать функцию: var publisher = { subscribers: { any: [] }, subscribe: function (fn, type) { type = type || 'any'; if (typeof this.subscribers[type] === "undefined") { this.subscribers[type] = []; } this.subscribers[type].push(fn); }, unsubscribe: function (fn, type) { this.visitSubscribers('unsubscribe', fn, type); }, publish: function (publication, type) { this.visitSubscribers('publish', publication, type); }, visitSubscribers: function (action, arg, type) { var pubtype = type || 'any', subscribers = this.subscribers[pubtype], i, max = subscribers.length; for (i = 0; i < max; i += 1) { if (action === 'publish') { subscribers[i](arg); } else { if (subscribers[i] === arg) { subscribers.splice(i, 1); } } } } };

вопрос

Правильный ответ:

function makePublisher(o) { for (i in publisher) { o[i] == publisher[i]; } }
function makePublisher(o) { var i; for (i in publisher) { if (publisher.hasOwnProperty(i) && typeof publisher[i]==="function") { o[i] = publisher[i]; } } о.subscribers = {any: []}; }
function makePublisher(o) { o = publisher; о.subscribers = {any: []}; }
function makePublisher(o) { var i; for (i in publisher) { if (publisher.hasOwnProperty(i) && typeof publisher[i]==="function") { o[i] = publisher[i]; }else{ i++ } } о.subscribers = {any: []}; }
Сложность вопроса
73
Сложность курса: Javascript 1.8
85
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Спасибо за решебник по интуит.
28 авг 2018
Аноним
спасибо за пятёрку
17 май 2016
Оставить комментарий
Другие ответы на вопросы из темы интернет-технологии интуит.