Repository navigation
iife
serhij.zolotukhin edited this page Dec 7, 2025
·
1 revision
immediately-invoked function expression
#!javascript
(function () {
// ...
}());
#!javascript
(function () {
// Code goes here
})();
Прием немедленно вызываемой функции испольузется для “фиксации” значения, изменяемого в цикле.
#!javascript
var elements = document.getElementsByTagName('a');
for (var i = 0; i < elements.length; i++) {
elements[i].addEventListener('click', function(e) {
e.preventDefault();
alert('Link #' + i);
}, false);
}
С помощью немедленно вызываемой функции в JavaScript реализуется довольно простой, но очень полезный паттерн — шаблон «модуль». Суть этого паттерна заключается с создании локальной области видимости, в которой определяются локальные, «приватные» переменные и функции
#!javascript
var counter = (function() {
var i = 0;
return {
get: function(){
return i;
},
set: function( val ){
i = val;
},
increment: function() {
return ++i;
}
};
})();
console.log(counter.get()); // 0
counter.set(3);
console.log(counter.increment()); // 4
console.log(counter.increment()); // 5
console.log(counter.i); // undefined
i; // ReferenceError: i is not defined
My footer
My side bar