Size: a a a

JavaScript Rules

2020 June 01

RG

Roman Gangal in JavaScript Rules
Oleg S
приведите пример
Например, вот такая функция:

elem.addEventListener('click', function() {
 alert('!');
});

-----------------------

Почему бы не сделать вот так:

function alert() {
 alert('!');
}

elem.addEventListener('click', alert());
источник

OS

Oleg S in JavaScript Rules
Roman Gangal
Например, вот такая функция:

elem.addEventListener('click', function() {
 alert('!');
});

-----------------------

Почему бы не сделать вот так:

function alert() {
 alert('!');
}

elem.addEventListener('click', alert());
скобки лишние в addEventListener, но да, второй вариант предпочтительнее особенно если нужно потом это листенер удалить, не знаю с чего вы взяли что все делают как в первом варианте
источник

I

Igor® in JavaScript Rules
Oleg S
скобки лишние в addEventListener, но да, второй вариант предпочтительнее особенно если нужно потом это листенер удалить, не знаю с чего вы взяли что все делают как в первом варианте
Ну на самом деле большинство так и пишут, правда из-за неграмотности. Я недавно такой же код у "сеньоров" видел...
источник

RG

Roman Gangal in JavaScript Rules
Oleg S
скобки лишние в addEventListener, но да, второй вариант предпочтительнее особенно если нужно потом это листенер удалить, не знаю с чего вы взяли что все делают как в первом варианте
Все курсы, видосы. примеры. Везде используется данный подход. Пихают тело анонимной функции в параметр другой функции, вместо того чтоб анонимную определить заранее по имени и в рабочую функцию задавать уже по имени вместо тела анонимной
источник

OS

Oleg S in JavaScript Rules
Roman Gangal
Все курсы, видосы. примеры. Везде используется данный подход. Пихают тело анонимной функции в параметр другой функции, вместо того чтоб анонимную определить заранее по имени и в рабочую функцию задавать уже по имени вместо тела анонимной
в примерах и видосах просто чтобы не грузить лишней инфой, доп переменными и т.д., чтобы сконцентрировать внимание на задаче
источник

AL

Alexander Luschenko in JavaScript Rules
На самом деле очень хочу увидеть откуда идет такой стиль - устал бить по рукам.
источник

RG

Roman Gangal in JavaScript Rules
Oleg S
в примерах и видосах просто чтобы не грузить лишней инфой, доп переменными и т.д., чтобы сконцентрировать внимание на задаче
Я на Python работаю. Привык чтоб функцию заранее с именем определить, а потом ее пихать куда нужно. А тут изначально из функции делают лапшу. Я думал, на это есть какая-то серьезная причина.
источник

AL

Alexander Luschenko in JavaScript Rules
Просто очень часто ставят знак равенство работает  == правильно. А это не так
источник

I

Ihor in JavaScript Rules
Roman Gangal
Я на Python работаю. Привык чтоб функцию заранее с именем определить, а потом ее пихать куда нужно. А тут изначально из функции делают лапшу. Я думал, на это есть какая-то серьезная причина.
Так и в js так можно. Просто в параметр другой функции встав ее название, а не анонимную функцию и все)
источник

I

Ihor in JavaScript Rules
Roman Gangal
Например, вот такая функция:

elem.addEventListener('click', function() {
 alert('!');
});

-----------------------

Почему бы не сделать вот так:

function alert() {
 alert('!');
}

elem.addEventListener('click', alert());
Делай так, только внизу у функции скобки убери)
источник

I

Ihor in JavaScript Rules
Igor®
Ну на самом деле большинство так и пишут, правда из-за неграмотности. Я недавно такой же код у "сеньоров" видел...
Так она же не должна сработать)
источник

СБ

Сёма Багров... in JavaScript Rules
Ребят подскажите почему применяется к одному элементу только и как это исправить🥺🥺
источник

СБ

Сёма Багров... in JavaScript Rules
источник

СБ

Сёма Багров... in JavaScript Rules
источник

RG

Roman Gangal in JavaScript Rules
Ihor
Так и в js так можно. Просто в параметр другой функции встав ее название, а не анонимную функцию и все)
про скобки понял, типа так да elem.addEventListener('click', alert);
источник

I

Ihor in JavaScript Rules
Roman Gangal
про скобки понял, типа так да elem.addEventListener('click', alert);
Типа, да)
источник

L

Link182 in JavaScript Rules
Сёма Багров
Ребят подскажите почему применяется к одному элементу только и как это исправить🥺🥺
Query selector all - у вас берется по одному элементу😉
источник

RG

Roman Gangal in JavaScript Rules
тут нагуглил такое   =>  Поставка анонимной функции в качестве параметра для другой функции

Некоторые функции могут принимать ссылку на функцию как параметр. Они иногда называются «инъекциями зависимостей» или «обратными вызовами», потому что они позволяют функции вашего вызова «перезванивать» на ваш код, предоставляя вам возможность изменить способ поведения вызываемой функции. Например, функция карты объекта Array позволяет выполнять итерацию по каждому элементу массива, а затем строить новый массив, применяя функцию преобразования к каждому элементу.

var nums = [0,1,2];
var doubledNums = nums.map( function(element){ return element * 2; } ); // [0,2,4]

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

I

Ihor in JavaScript Rules
Queryselectorall
источник

RG

Roman Gangal in JavaScript Rules
оказівается то что мне не нравится, с точки зрения js это неряшливо)
источник