Смысл двух разных вариантов для операторов "and" и "or" в том, что они работают с различными приоритетами (смотрите таблицу Приоритет выполнения операторов).
&& - 15 строка, = - 19 строка, and - 23 строка.$bool = true and false; => ($bool = true) and false;$bool = true && false; => $bool = (true && false); myFunc('arg')element.addEventListener( "click" , myFunc.bind(null, 'arg') );element.addEventListener('click', myFunc) а не запускать ее выполнение. Отправляя myFunc('arg') вы сразу же запускаете выполнение функции. Чтобы отправить параметры функции в обработчик нужно привязать контекст через .bind, как уже вам написали в примере выше, либо использовать метод .handleEvent из интерфейса EventListener:function myFunc(event) {
console.log(this.arg);
}
.....
element.addEventListener('click', {
handleEvent: myFunc,
arg: 'arg_value'
});
<form class="haha" id="foo1"> <!-- добавлен id формы -->
<input type="email" id="mail" name="user_email" />
</form><input type="text" id="name" name="user_name" form="foo1" /> <!-- внимание на атрибут form -->Здравствуйте как мне покрасить отступы margin?
Сколько бы я не искал информации в интернете по этому поводу её почти нет

хорошо изучил html5
Но что делать, если элементов много?
const arr = [1,2,3,4,5,6,7,8,9,10];
arr.forEach((value, index) => {
window[`elem_${index}`] = value;
})
console.log(elem_1); // 1
console.log(elem_2); // 2