This commit is contained in:
Ilya Kantor 2014-10-26 22:10:13 +03:00
parent 06f61d8ce8
commit f301cb744d
2271 changed files with 103162 additions and 0 deletions

View file

@ -0,0 +1,30 @@
Выведут **1,2,3,4.**
Здесь внутренняя функция будет искать -- и находить `currentCount` каждый раз в самом внешнем объекте переменных: глобальном объекте `window`.
В результате все счётчики будут разделять единое, глобальное текущее значение.
```js
//+ run
var currentCount = 1;
function makeCounter() {
return function() {
return currentCount++;
};
}
var counter = makeCounter();
var counter2 = makeCounter();
*!*
alert( counter() ); // ?
alert( counter() ); // ?
*/!*
*!*
alert( counter2() ); // ?
alert( counter2() ); // ?
*/!*
```

View file

@ -0,0 +1,29 @@
# Глобальный счётчик
[importance 5]
Что выведут эти вызовы, если переменная `currentCount` находится вне `makeCounter`?
```js
var currentCount = 1;
function makeCounter() {
return function() {
return currentCount++;
};
}
var counter = makeCounter();
var counter2 = makeCounter();
*!*
alert( counter() ); // ?
alert( counter() ); // ?
*/!*
*!*
alert( counter2() ); // ?
alert( counter2() ); // ?
*/!*
```