У меня этот код.Путаница с закрытием в javascript
<body>
<p>Counting with a local variable.</p>
<button type="button" onclick="myFunction()">Count!</button>
<p id="demo">0</p>
<script>
var add = (function() {
var counter = 0;
return function() {return counter += 1;}
})();
function myFunction(){
document.getElementById("demo").innerHTML = add();
}
</script>
</body>
Переменная добавить присваивается значение, возвращаемое себя ссылающегося функцию.
Означает ли это, что каждый раз, когда добавляется вызов, только возврат функции вызывается не всей функцией?
Если нет, может кто-нибудь объяснить это?
Почему код не выполняется из первого утверждения функции, а скорее переходит непосредственно назад. Пожалуйста, дайте мне некоторое объяснение. – suman
Внешняя функция - это IIFE, она немедленно вызывается, когда парсер сталкивается с ней, и возвращается результат, который в этом случае является другой функцией. – adeneo
Я думаю, что страница wikipedia, с которой я связан, объясняет это довольно хорошо. – adeneo