А если серьезно то для любого специалиста must-have это знания и опыт. При чем источник (знаний и опыта) не имеет ни какого значения
Я знаю очень много людей, которые прочитали много хороших книг и ничего не умеют или делают через фекалии выводящий канал. А есть те кто прочитал документацию и делает безукоризненно.
Многие почему-то путают работу и учебу.
var removeInput = document.getElementById('row').getElementsByTagName('a');
removeInput.addEventListener('click', function(){
var myId = this.id; // Так переменная создается в локальной области видимости. Ее нигде не видно, только внутри события
});
// Тут myId не видно.
var removeInput = document.getElementById('row').getElementsByTagName('a');
var myId;
removeInput.addEventListener('click', function(){
myId = this.id; // Так переменная создается в глобальной области видимости.
});
alert(myId); // все в порядке
var removeInputsList = document.getElementById('row').getElementsByTagName('a');
for(var ind in removeInputsList) {
var input = removeInputsList[ind];
input.addEventListener('click', function(){
var myId = this.id; // Если с переменной работаете только тут, то можно (нужно) не делать ее глобальной
alert(myId); // Выводим, все гуд
});
}
все зависит от того, что вы передадите в аргументы. Если передаете строки (пусть даже строки чисел), то получите строку, т.к. оператор + в таком случае будет выступать в роде оператора конкатенации.
Тоже самое. Зачем создавать переменную, которая возьмет значение из функции, и вернет его через return, если можно сразу это значение функции вернуть в return? Ну, если вам после функции reduce еще нужно поработать с этим значением, то можете создавать переменную, обрабатывать ее и уже возвращать.