169 похожих чатов

Привет всем. Подскажите пожалуйста почему теряется контекст вызова ? Имею

вот такой код на руках https://ideone.com/srM68f, по итогу имею в консоли объект Window, а не мой экземпляр класса. Почему так ?

24 ответов

22 просмотра

там все правильно, за исключением опечатки в Myclass

Назар Калитюк
там все правильно, за исключением опечатки в Mycla...

так а с чем может быть тогда проблема то раз this ведет на Window ?

Санжар
проблему уже озвучили, у тебя опечатка

не в опечатке дело говорю же. но уже неважно - разобрался

Kerambit ()xxxxx[;;;;;;;;;> Brewmaster
не в опечатке дело говорю же. но уже неважно - раз...

class MyClass{ setListener(){ console.log(this) } } let init = new MyClass(); init.setListener();

Санжар
class MyClass{ setListener(){ console.log(th...

там была не в этом проблема говорю же

Kerambit ()xxxxx[;;;;;;;;;> Brewmaster
там была не в этом проблема говорю же

ок поделись в чем была, может понадобиться

Kerambit ()xxxxx[;;;;;;;;;> Brewmaster
там была не в этом проблема говорю же

вы как люди на СО или форумах, которые ищут ответ, находят, наконец, и никогда не пишут, в чём дело

Санжар
ок поделись в чем была, может понадобиться

да я вам скинул пример плюшевый с общей концепцией и один момент в нем (как мне казалось тогда неважный) я упустил. в связи с этим не знаю будет ли актуально но хз. в общем в setListener идет поиск по DOM конкретного элемента и если его нет, то запусти эту же функцию снова через 1 сек через setTimeout. и тк я не использовал лямбда функцию а просто напрямую впихнул, то шла потеря контекста =/

i7 4n
можно было просто привязать контекст

Это не эффективно, так как встроенный Function.prototype.bind медленный, а собственный быстрый не соответствует стандарту.

Тахир Уродовский
Это не эффективно, так как встроенный Function.pro...

ну я про эффективность ни слова и не говорил

Kerambit ()xxxxx[;;;;;;;;;> Brewmaster
да я вам скинул пример плюшевый с общей концепцией...

вы для этих целей можете MutationObserver использовать https://developer.mozilla.org/ru/docs/Web/API/MutationObserver

i7 4n
можно было просто привязать контекст

гораздо проще просто написать setTimeout(() => this.setListener())

Kerambit ()xxxxx[;;;;;;;;;> Brewmaster
гораздо проще просто написать setTimeout(() => thi...

а чем это проще? this.listener.bind(this) vs. () => this.setListener() где тут сложности?)

i7 4n
а чем это проще? this.listener.bind(this) vs. () ...

На самом деле первый сложнее, если подробно разбирать)

Тахир Уродовский
На самом деле первый сложнее, если подробно разбир...

ну в плане написания - без разницы, как по мне а про то, как оно там внутри - другой вопрос один хрен, опять же, я бы юзал MutationObserver

Kerambit ()xxxxx[;;;;;;;;;> Brewmaster
а если у тебя virtual dom ?))

тогда аналог MutationObserver на виртуальном DOM, хотя не, чушь какая-то

Kerambit ()xxxxx[;;;;;;;;;> Brewmaster
а если у тебя virtual dom ?))

ну, по вашему вопросу я там про виртуалдом ничего не увидел если он ручной - я бы повесился а если фреймворк, то там вряд ли бы сильно понадобилось так искать. скорее, это какие-то проблемы в архитектуре

i7 4n
ну, по вашему вопросу я там про виртуалдом ничего ...

Само по себе прокси же не для событий предназначено, а я имел в виду именно их. То есть MutationObserver на DOM, уведомляющий виртуальный DOM, и VirtualMutationObserver на виртуальном DOM, уведомляющий другой код. Лучше сразу из того MutationObserver уведомлять, и виртуальный DOM, и другой код (изменение в виртуальном DOM + вызов обработчиков из другого кода).

Тахир Уродовский
Само по себе прокси же не для событий предназначен...

я подозреваю, опять же, что в любом случае вряд ли такие проверки для виртуалдома будут в тему. это как-то костылями пахнет, не знаю

i7 4n
ну, по вашему вопросу я там про виртуалдом ничего ...

Это вопрос также в контексте этого сообщения

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта