#jquery #onclick #event-handling
#jquery #onclick #обработка событий
Вопрос:
Публикуя другой вопрос в SO, я заметил объявление на стороне, которое выглядело следующим образом:
$('#apply-now').on('click', () => {new GreatCareer()});
/* Invoke and submit your resume */
Теперь этот бит с () => {new GreatCareer()}
новым для меня. Я видел анонимные или именованные функции в этом месте. Что именно означает этот синтаксис?
Ответ №1:
Это новый синтаксис функций стрелок ECMAScript 6:
var a = [
"Hydrogen",
"Helium",
"Lithium",
"Beryllium"
];
// initial sytax
var a2 = a.map(function(s){ return s.length });
// arrow function sytax
var a3 = a.map( s => s.length );
// Функция без параметров требует круглых скобок: () => {
заявления }
таким ()
образом, они представляют пустые параметры функции, и в соответствии с новым синтаксисом function
ключевое слово пропущено.
ИТАК $('#apply-now').on('click', () => {new GreatCareer()});
подразумевает
$('#apply-now').on('click', function(){ return new GreatCareer(); });
Ответ №2:
Это лямбда-нотация, просто еще один способ определения функции.
Более подробная информация здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions