|
@@ -386,7 +386,7 @@ function level1(){
|
|
|
level1();
|
|
|
console.log("Level 0 scope: a: " + a + " b: " + b + " c: " + c);
|
|
|
```
|
|
|
-Проанализируйте вывод кода выше. Самая вложенная функция `level2` видит переменные своей области видимости (c), потом ищет значение на уровень
|
|
|
+Проанализируйте вывод кода выше. Самая вложенная функция `level2` видит переменные своей области видимости (`c`), потом ищет значение на уровень
|
|
|
выше (для переменной `b`), и на уровень еще выше (для `a`). Промежуточная функция `level1` *ничего* не знает о переменных в `level2`, но видит свою
|
|
|
область видимости и глобальную. Глобальная же имеет свои переменные `a`, `b`, `c` в первозданном виде.
|
|
|
|
|
@@ -404,9 +404,11 @@ function level1(){
|
|
|
var c = "2";
|
|
|
var e = "2";
|
|
|
console.log("Level 2 scope: a: " + a + " b: " + b + " c: " + c + " d: " + d + " e: " + e);
|
|
|
+ d = "2";
|
|
|
}
|
|
|
+ console.log("Level 1 before level2, scope: a: " + a + " b: " + b + " c: " + c + " d: " + d + " e: " + e);
|
|
|
level2();
|
|
|
- console.log("Level 1 scope: a: " + a + " b: " + b + " c: " + c + " d: " + d + " e: " + e);
|
|
|
+ console.log("Level 1 after level2, scope: a: " + a + " b: " + b + " c: " + c + " d: " + d + " e: " + e);
|
|
|
}
|
|
|
|
|
|
level1();
|
|
@@ -540,6 +542,18 @@ alert(validatedPrompt("камень-нжнцы-бмг", "", function(value) {
|
|
|
- Функции обратного вызова используются для внедрения кода, как в случае с `sort` и `validatedPrompt`
|
|
|
- Функции обратного вызова используются для того, что бы отказаться от опроса (poll) и перейти к событийной архитектуре (push), т. е. вместо
|
|
|
постоянной проверки произошло то или иное событие или нет - происходит вызов callback когда это событие произошло.
|
|
|
+
|
|
|
+```javascript
|
|
|
+console.log("Начал");
|
|
|
+setTimeout(function(){
|
|
|
+ console.log("Отложил на 5 сек");
|
|
|
+}, 5000);
|
|
|
+console.log("Закончил");
|
|
|
+```
|
|
|
+ В этом примере, вместо того, что бы засекать время и постоянно в цикле проверять, прошел ли нужный промежуток времени (5 секунд), используется
|
|
|
+ встроенная функция setTimeout, которая запускает ваш код через определенное время. Код предоставляется в форме функции, время вторым параметром
|
|
|
+ в миллисекундах.
|
|
|
+
|
|
|
- Функции используются для создания обособленной области видимости, что бы не нарушать окружающее пространство имен:
|
|
|
|
|
|
```javascript
|