fork download
  1. function makeCounter() {
  2. var currentCount = 1;
  3.  
  4. return function() { // ()
  5. return ++currentCount;
  6. };
  7. }
  8.  
  9. var counter = makeCounter(); // ()
  10.  
  11. // каждый вызов увеличивает счётчик и возвращает результат
  12. print( counter() ); // 1
  13. print( counter() ); // 2
  14. print( counter() ); // 3
  15.  
  16. // создать другой счётчик, он будет независим от первого
  17. var counter2 = makeCounter();
  18. print( counter2() ); // 1
Success #stdin #stdout 0s 16848KB
stdin
Standard input is empty
stdout
2
3
4
2