|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
||||||||||||||||
Объясните строку в коде пожалуйста20.06.2013, 11:04. Показов 1665. Ответов 6
Метки нет (Все метки)
Всем доброго времени суток. Недавно начал изучение javascript, поначалу всё не плохо понимал, но сейчас дело дошло до замыканий, обёрток и this - у меня в голове теперь просто каша. В общем, имеется задача:
"Создайте декоратор makeLogging(func, log), для функции func возвращающий обёртку, которая при каждом вызове добавляет её аргументы в массив log. Допускается func с любым набором аргументов." Это её решение:
0
|
||||||||||||||||
| 20.06.2013, 11:04 | |
|
Ответы с готовыми решениями:
6
Объясните пожалуйста одну строку в коде
Объясните мне пожалуйста строчку в коде |
|
Просто любитель
|
|
| 20.06.2013, 22:23 | |
|
dalay_lama, apply принимает вторым аргументом массив и передает его функции, методом которой вызван, как набор аргументов (a,b, c, ...). А первым аргументом — да, принимает контекст.
1
|
|
|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
|
| 21.06.2013, 03:51 [ТС] | |
|
Всё равно не могу понять, если он "принимает вторым аргументом массив и передает его функции", но мы то передаём объект?
0
|
|
|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
|
| 21.06.2013, 14:02 [ТС] | |
|
кажется более менее понял. Поправьте меня пожалуйста если я не прав - это похоже на то, как в учебнике показывалось, метод обозвали - "одалживание метода", и в пример приводили как можно объекту arguments, добавить метод объекта array. вот пример: arguments.join = [].join; теперь у arguments есть метод join, т.к. join использует только элементы массива [1],[2]... и свойство length, то arguments может использовать этот метод. Аналагично с методом apply, я правильно понимаю? а можно ли где-нибудь посмотреть реализацию метода apply?
0
|
|
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||||||
| 21.06.2013, 17:52 | ||||||
|
имеем два объекта - AAA и BBB
у первого объекта есть свойство AAA.prop = true; а у второго такого свойства не определено имеем функцию myFunc (), внутри которой проверяем истинность/ложность свойства this.prop если такое свойство существует (и определено истинным), то страница станет красной если же такого свойства не существует, то страница станет синей 1. запускаем функцию просто так (имя и круглые скобки) this тогда будет текущим окном, у которого нет свойства prop - окно синее 2. запускаем функцию посредством метода apply и передаём ей объект AAA this станет объектом AAA, и раз свойство prop у него имеется, то страница станет красной 3. запускаем функцию посредством метода apply и передаём ей объект BBB this станет объектом BBB, свойства prop у которого нет, страница снова станет синей 4. запускаем функцию посредством метода apply и передаём ей объект null this станет текущим окном, свойства prop у которого нет, страница будет синей
1
|
||||||
|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
|
| 22.06.2013, 04:06 [ТС] | |
|
большое спасибо за объеснение. Но я не много не об этом спросил. То что вы описали я уже понимал, более или менее, но теперь хорошо это понимаю) у меня именно не укладывается в голове то, что apply передаёт массив, но при этом, передача ОБЪЕКТА arguments срабатывает. После ответа @GuardCat, я вроде бы уловил, и хотел узнать правильно ли я понял или нет.
0
|
|
| 22.06.2013, 04:06 | |
|
Помогаю со студенческими работами здесь
7
объясните пожалуйста ошибку в коде mfs
Объясните строку в коде
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|