init
This commit is contained in:
parent
06f61d8ce8
commit
f301cb744d
2271 changed files with 103162 additions and 0 deletions
|
@ -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() ); // ?
|
||||
*/!*
|
||||
```
|
||||
|
|
@ -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() ); // ?
|
||||
*/!*
|
||||
```
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue