例 以下のようなコードを考える(文法はJavaScript) function makeCounter () { var count = 0; return f; function f () { return count++; } } var count = 10; var counter = makeCounter(); document.writeln(counter()); document.writeln(counter()); document.writeln(counter()); document.writeln(counter());クロージャである(静的スコープ)とき、出力はこのようになる。 0 1 2 3クロージャでない(動的スコープ)とき、出力はこのようになる。 10 11 12 13
![クロージャとは コンピュータの人気・最新記事を集めました - はてな](https://cdn-ak-scissors.b.st-hatena.com/image/square/c2399268c45f05176589994884651cf8a795231e/height=288;version=1;width=512/https%3A%2F%2Flive.blog-tags.st-hatena.com%2F%2F_next%2Fstatic%2Fimages%2FogImageDefault-0b14dbf84ffadcafc73ec8b1d951813c.png)