回答編集履歴

2

メモリ開放云々の説明を修正

2015/11/12 19:50

投稿

think49
think49

スコア18166

test CHANGED
@@ -22,7 +22,9 @@
22
22
 
23
23
  **クロージャがメモリ開放しないのは仕様**
24
24
 
25
- そもそも論としてクロージャがメモリを手放さないのは内包関数がローカル変数にスコープを持っているからであり、仕様です(メモリリークではありせん)
25
+ そもそも論としてクロージャがメモリを手放さないのは内包関数がローカル変数にスコープを持っているからであり、スコプを持つ変数をガベージコレション回収できない事に起因し
26
+
27
+ つまり、仕様であってメモリリークではありません。
26
28
 
27
29
 
28
30
 

1

markdown記法の調整

2015/11/12 19:50

投稿

think49
think49

スコア18166

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- グローバル変数を使うと内包関数が参照する変数 `x` が共有されてしまいます。
5
+ グローバル変数を使うと内包関数が参照する「グローバル変数 `x`が共有されてしまいます。
6
6
 
7
7
  クロージャの優位性を失うことになると思うのですが、それはクロージャにする意味があるのでしょうか。
8
8
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  **DontDelete 属性が存在するのは ES3 まで**
16
16
 
17
- また、`DontDelete` 属性が存在するのは ES3 までであり、ES5 では削除されています。
17
+ `DontDelete` 属性が存在するのは ES3 までであり、ES5 では削除されています。
18
18
 
19
19
  - [変数宣言のvarアリとナシの違いや使い分け(14790)|teratail](https://teratail.com/questions/14790#r23126)
20
20
 
@@ -23,6 +23,10 @@
23
23
  **クロージャがメモリ開放しないのは仕様**
24
24
 
25
25
  そもそも論としてクロージャがメモリを手放さないのは内包関数がローカル変数にスコープを持っているからであり、仕様です(メモリリークではありません)。
26
+
27
+
28
+
29
+ **ガベージコレクション**
26
30
 
27
31
  メモリ開放が必要なら[ガベージコレクション](https://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%99%E3%83%BC%E3%82%B8%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3)によって開放されるようにスコープを調節してください。
28
32