На основе некоторого кода в лекции Дуга Крокфорда, я создал это.
var isAlphaUser = (function() {
alert("Forming Alpha User List");
let AlphaUsers = {
1234: true,
5678: true
};
return function(id){
alert("Checking Alpha Users:",id);
return AlphaUsers[id];};
}());
alert("starting");
alert(isAlphaUser(1234));
alert(isAlphaUser(5678));
alert(isAlphaUser(3456));
, что дает мне это:
Forming Alpha User List
starting
Checking Alpha Users: 1234
true
Checking Alpha Users: 5678
true
Checking Alpha Users: 3456
undefined
Что довольно круто, так каквыполняет дорогостоящую настройку только один раз, и каждый последующий вызов является дешевой проверкой.
Однако я не могу расшифровать код, который делает это.В частности, я не могу понять, зачем мне нужен "()" в конце объявления функции.
Может кто-нибудь объяснить, как работает этот синтаксис?