Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.11.2020, 22:19
Интересующийся
Отправить личное сообщение для win32s Посмотреть профиль Найти все сообщения от win32s
 
Регистрация: 28.09.2019
Сообщений: 22

jQuery и сокращенная запись функций
Почему jQuery не понимает сокращенную запись функций? Или я где-то туплю?

Т.е. взять код

$.fn.inOut = function() 
	{
		console.log(this); //что-то делаем дальше с элементом
}


Он выведет в консоль тот элемент, к которому его применили (div или что)

если же написать

$.fn.inOut = () =>{
		console.log(this); 
}

То работать методы не будут, а в консоле будет this = document.

Почему так? Я думал, что это сокращение - просто синтаксический сахар.
Ответить с цитированием
  #2 (permalink)  
Старый 09.11.2020, 23:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Это не JQ виноват, это особенности стрелочных функций, в нем this, это не ссылка на элемент источник.
Ответить с цитированием
  #3 (permalink)  
Старый 10.11.2020, 00:38
Интересующийся
Отправить личное сообщение для win32s Посмотреть профиль Найти все сообщения от win32s
 
Регистрация: 28.09.2019
Сообщений: 22

laimas, понял, спасибо (не могу плюс поставить).
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переопределение функций в плагине jquery Shock9777 jQuery 4 08.06.2017 13:08
Динамически загружаемая jQuery и jQuery-функции в одном файле 67bytes Общие вопросы Javascript 6 06.03.2013 08:01
Ребята помогите правильно реализовать цепочки функций как в jquery mrgordon Общие вопросы Javascript 6 04.06.2012 20:40
Перекрытие функций jQuery archi_sova jQuery 0 23.05.2012 18:05
2 разных модуля на jQuery - как подключить? finder jQuery 4 23.03.2012 21:29