|
2 / 2 / 1
Регистрация: 16.12.2013
Сообщений: 73
|
||||||
Вызов в анонимной функции29.05.2017, 09:03. Показов 1328. Ответов 9
Метки нет (Все метки)
Подскажите пожалуйста почему _render вызывается внутри анонимной функции в setInterval?
и теперь ещё вопрос появился, функции записанный в прототип считают this прототип, или будущий объект, в данном случаи clock. Добавлено через 9 минут Как я понял если метод не найден в своем контексте, он ищется в прототипе, и из прототипа вызывается в конексте объекта, но как тогда функция start находит _render? Добавлено через 8 минут а не, последние два вопроса отпадают, но первый никак понять не могу. Добавлено через 10 часов 31 минуту Потому что в вызове без анонимной функции вызов бы уже запланировался, а контекст ещё не был бы определен?
0
|
||||||
| 29.05.2017, 09:03 | |
|
Ответы с готовыми решениями:
9
Запуск анонимной функции Область видимости в анонимной функции Присвоение анонимной функции двум переменным |
|
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
|
||||||||||||
| 29.05.2017, 09:18 | ||||||||||||
|
Функция setInterval() принимает в качестве первого параметра функцию. Соответственно у вас 2 варианта написания:
0
|
||||||||||||
|
the hardway first
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
|
||||||||||||
| 29.05.2017, 09:22 | ||||||||||||
_render() будет выполнятся в контексте Window, следовательно там не будут доступны методы и свойства объекта Clock. Вы можете сами проверить:
this будет экземпляр Clock, а вот все дальнейшие будет Window.
3
|
||||||||||||
|
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
|
|
| 29.05.2017, 09:25 | |
|
Да. Разница действительно есть. Моя невнимательность...
0
|
|
|
2 / 2 / 1
Регистрация: 16.12.2013
Сообщений: 73
|
|
| 29.05.2017, 09:35 [ТС] | |
|
Так в self же записывается ссылка на контекст? и при создании нового объекта this получит ссылку на объект?
0
|
|
|
the hardway first
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
|
||||||||||||
| 29.05.2017, 10:06 | ||||||||||||
Вот подумайте пока над примером попроще ![]()
0
|
||||||||||||
|
2 / 2 / 1
Регистрация: 16.12.2013
Сообщений: 73
|
|
| 29.05.2017, 14:13 [ТС] | |
|
Ну до ES6 и let я пока не дошел, но в остальном, если я правильно усвоил предыдущие главы:
1) если self заменить на this, то контекст потеряется, так как его "перекроет" setInterval 2) petia.say() выведет Petia, так как из объекта скопировался только метод, а не контекст. Добавлено через 6 минут Я наверно не понимаю в какой момент прототипным функциям присваивается this. То есть когда мы создаем объект, в this объекта хранятся только напрямую заданные свойства, типа _template, а прототипы получают в this ссылку на window, и когда мы вызываем без анонимной функции то в self._render у нас уже лежит window, и не меняется, а когда через анонимную то туда записывается текущий контекст?
0
|
|
|
the hardway first
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
|
||
| 29.05.2017, 19:16 | ||
|
Помните, что JS - интерпретируемый язык. this всегда будет зависить от контекста выполнения. Простыми словами this - это объект, на котором вызвали метод (тот, который идет перед . в вызове).
0
|
||
|
2 / 2 / 1
Регистрация: 16.12.2013
Сообщений: 73
|
|
| 29.05.2017, 20:17 [ТС] | |
|
Ну так я так и думал с самого начала, но вот этот вызов меня запутал совсем. я не могу понять почему в self записывается window, если мы вызываем start в контексте нового объекта. ведь поиск будет таким obj -> Clock.prototype, и все методы из прототипа будут вызываться в контексте obj, или я всё таки неправильно рассуждаю.
Добавлено через 17 минут какую тему нужно перечитать чтоб понять это?
0
|
|
|
the hardway first
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
|
|
| 30.05.2017, 09:24 | |
|
execto, конкретно этот случай: http://learn.javascript.ru/bin... 1%82%D0%B0
И так, для общего развития: http://learn.javascript.ru/object-methods http://learn.javascript.ru/call-apply http://learn.javascript.ru/event-delegation http://learn.javascript.ru/functional-inheritance
1
|
|
| 30.05.2017, 09:24 | |
|
Помогаю со студенческими работами здесь
10
Вернуть значение локальной переменной анонимной функции Два и совершенно разных определения анонимной функции
Вернуть значение с анонимной функции Вызов функции из другой функции после нажатия на кнопку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|