JSFiddle - React, Tailwind, and code Playground
by geirby
HTML
Пускай у нас есть массив ссылок, и наша задача — сделать так, чтобы при клике на каждую выводился алертом ее порядковый номер
Пускай у нас есть объект (синглтон), содержащий какие-либо методы и свойства:
var MyModule = {
name: 'Habrahabr',
sayPreved: function(name) {
alert('PREVED ' + name.toUpperCase())
},
sayPrevedToHabrahabr: function() {
this.sayPreved(this.name);
}
}
MyModule.sayPrevedToHabrahabr();
С помощью замыкания мы можем сделать методы и свойства, которые вне объекта не используютя, приватными (т.е. доступными только ему):
var MyModule = (function() {
var name = 'Habrahabr';
function sayPreved() {
alert('PREVED ' + name.toUpperCase());
}
return {
sayPrevedToHabrahabr: function() {
sayPreved(name);
}
}
})();
MyModule.sayPrevedToHabrahabr(); //alerts «PREVED Habrahabr»
JavaScript
function createCounter() {
var numberOfCalls = 0;
return function() {
return ++numberOfCalls;
}
}
for (var i = 0; i < links.length; i++) {
(function(i) {
links[i].onclick = function() {
alert(i);
}
})(i);
}
var fn = createCounter();
console.log(fn());
console.log(fn());
console.log(fn());