Jelajahi Sumber

05 pre-alpha done

me@helium 8 tahun lalu
induk
melakukan
58e9c589d6
1 mengubah file dengan 12 tambahan dan 1 penghapusan
  1. 12 1
      05.md

+ 12 - 1
05.md

@@ -130,7 +130,7 @@ readWithDefault("Введите фамилию","","Иванов");
 ```
 
 - **Возвращаемое значение**. Обратите внимание на то, что **функции** можно использовать как переменные в выражениях, однако не всегда это имеет смысл. 
-  Более того, функции нельзя присвоит значение, однако можно *прочесть* её значение.
+  Более того, функции нельзя присвоить значение, однако можно *прочесть* её значение.
 
 ```javascript
 var surname = "Петров";
@@ -540,4 +540,15 @@ alert(validatedPrompt("камень-нжнцы-бмг", "", function(value) {
 - Функции обратного вызова используются для внедрения кода, как в случае с `sort` и `validatedPrompt`
 - Функции обратного вызова используются для того, что бы отказаться от опроса (poll) и перейти к событийной архитектуре (push), т. е. вместо
   постоянной проверки произошло то или иное событие или нет - происходит вызов callback когда это событие произошло.
+- Функции используются для создания обособленной области видимости, что бы не нарушать окружающее пространство имен:
+
+```javascript
+(function(){
+    var a = 5;
+    var b = "100500";
+})()
+```
+в данном примере создается функция и тут же вызывается. Функция не сохраняется не в какой из переменных, а значит вы не сможете её вызывать более
+чем один раз. Единственная цель такой функции (**Self-Invoked Function**) - создать свою обособленную область видимости, в которой можно оперировать
+любыми именами переменных не опасаясь побочных эффектов и влияния на переменные окружающего кода. Просто блок кода со своими именами.