Вход

Инкапсуляция в js

Инкапсуляция в js

При написании программы могут возникать глобальные переменные, что является ошибкой. Нужно максимально скрыть служебные переменные от «внешнего мира».
Для этого используется механизм инкапсуляции. Инкапсуляция в js реализуется через функции.

Примером инкапсуляции может быть следующий листинг:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
// не правильно
 
// В данном примере массив mass и переменная i будут глобальными
<script>
let mass = ["Яблоко", "Груша"];
for(let i = 0; i < mass.length; i++){
   console.log(mass[i])
}
</script>
 
 
 
// правильно
 
<script>
// В данном примере массив mass и переменная i будут локальными
(function(){
   let mass = ["Яблоко", "Груша"];
   for(let i = 0; i < mass.length; i++){
      console.log(mass[i])
   }
})();
</script>

(function(){…})(); — данная форма записи сразу вызывает анонимную функцию

Как сделать часть инкапсулированной функции глобальной (экспорт)

1
2
3
4
5
6
7
(function(){
   var a = 10; // локальная переменная
   window.b = 20; // глобальная переменная
 
   var method1 = function(){} // локальная функция
   window.method2 = function(){} // глобальная функция
})();

Данный эффект называется экспортом в глобальную область видимости

30 сентября 2020 /

2228 Views /

0 Comment
Ilya Web developer
Author

«Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.»Martin Golding