Size: a a a

JavaScript — русскоговорящее сообщество

2021 March 15

G

Godfather in JavaScript — русскоговорящее сообщество
Alexander Brewmaster
эм, а как ты сейчас определяешь на какой метке центрироваться ?😁
this.map.setCenter() и туда координаты пуляю.
источник

AB

Alexander Brewmaster in JavaScript — русскоговорящее сообщество
Godfather
this.map.setCenter() и туда координаты пуляю.
ну смотри. у тебя есть массив объектов. у них есть уникальный айдишник у каждого. в чем проблема за него цеплятся?
источник

G

Godfather in JavaScript — русскоговорящее сообщество
Alexander Brewmaster
ну смотри. у тебя есть массив объектов. у них есть уникальный айдишник у каждого. в чем проблема за него цеплятся?
Проблема в том, что все это понимаю кроме одного - как поменять динамически иконку метки на карте. Когда я создаю метку, я задаю ей кастомную свг иконку. Но мне потом нужно их динамически переключать.
источник

AB

Alexander Brewmaster in JavaScript — русскоговорящее сообщество
Godfather
Проблема в том, что все это понимаю кроме одного - как поменять динамически иконку метки на карте. Когда я создаю метку, я задаю ей кастомную свг иконку. Но мне потом нужно их динамически переключать.
имеется в виду маркер?
источник

G

Godfather in JavaScript — русскоговорящее сообщество
Alexander Brewmaster
имеется в виду маркер?
Да
источник

bz

bogdan zots in JavaScript — русскоговорящее сообщество
Всем привет может мне пожалуйста кто нибудь обьяснить почему в данном примере a и b могут применяться в методах sum(),mul() . Разве у них не должна быть ограниченна область видимости ? А если это происходить из-за this , обьясните почему пж . P.S смотрел на learn js , смутно не понятно ...
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
когда ты вызываешь calculator.read() в this будет подставлен calculator
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
поэтому присвоение произойдет в calculator.a и calculator.b
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
когда потом ты вызовешь calculator.sum() в this опять будет подставлен calculator и значения будут считаны оттуда же
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
так велит спека! 👆
источник

QM

Qila Manta in JavaScript — русскоговорящее сообщество
bogdan zots
Всем привет может мне пожалуйста кто нибудь обьяснить почему в данном примере a и b могут применяться в методах sum(),mul() . Разве у них не должна быть ограниченна область видимости ? А если это происходить из-за this , обьясните почему пж . P.S смотрел на learn js , смутно не понятно ...
Присваивая this.a/b ты присвпиваешь их к контексту calculator, собстна и методы у тебя там же
Поэтому и работает
источник

AB

Alexander Brewmaster in JavaScript — русскоговорящее сообщество
а такое не пашет ? http://jsfiddle.net/19xqasue/
источник

G

Godfather in JavaScript — русскоговорящее сообщество
попробую, спасибо!
источник

Ю

Юра in JavaScript — русскоговорящее сообщество
почему я не могу прочитать переменную options? https://prnt.sc/10maz8o
источник

Ю

Юра in JavaScript — русскоговорящее сообщество
передаю в калбек как всегда...
источник

G

Godfather in JavaScript — русскоговорящее сообщество
Потому что this в функции-колбэке это не тот же, что и выше
источник

G

Godfather in JavaScript — русскоговорящее сообщество
twoD.addEventListener('click', options => console.log(this.options))
источник

S

System404 in JavaScript — русскоговорящее сообщество
Юра
почему я не могу прочитать переменную options? https://prnt.sc/10maz8o
Убери options из параметров и используй без this, замыкания не так работают
источник

ПМ

Павел Мудров... in JavaScript — русскоговорящее сообщество
Еще потому что в евентах параметр не вы задаете
источник

bz

bogdan zots in JavaScript — русскоговорящее сообщество
Denys Mikhalenko
когда потом ты вызовешь calculator.sum() в this опять будет подставлен calculator и значения будут считаны оттуда же
Спасибо , с this я разобрался . Ещё остался такой момент насчёт области видимости ( может я даже не понимаю что я пишу )))   ) . Луче обьясню на примере  . Допустим  у нас есть две функции function a(){ let a = 5 ) ; function b(){return a * a} . У нас же функция b не будет видеть a, так как у a локальная область видимости . А на примере что я присылал  значения полей a и b видимо во всём обьекте . Вопрос : это просто отличия области видимости для полей методов в обьекте , или как обьяснить то что их видят остальные методы ...? Скиньте пж где можно про это почитать или попробуйте обьяснить если не сложно ...
источник