В чем разница между: «adventureSelector(3)();» и «adventureSelector(3);» в JS?
Прохожу CodeSchoole Js cours. Не могу до конца понять разницу между вызовом функции с параметром и добавленными впереди скобками.
Вот функция:
function adventureSelector(userChoice) {
if (userChoice == 1) {
return function() {
alert("You selected the Vines of Doom!");
};
} else if (userChoice == 2) {
return function() {
alert("Looks like you want the Lake of Despair!");
};
} else if (userChoice == 3) {
return function() {
alert("The Caves of Catastrophe!");
};
}
}
в чем разница между вызовом ее с параметром - adventureSelector(3) и с непонятными мне скобками - adventureSelector(3)()?
На будущее - нажимаете F12 в хроме/фф (да и в любом другом браузере в общем то), выбираете там консоль и вставляете туда какой угодно js код (но ванильный js естественно). Самый простой и адекватный способ на ходу изучать какие вещи что делают.