回答編集履歴

4

語弊がある部分を修正

2020/07/29 01:49

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -6,7 +6,9 @@
6
6
 
7
7
  画像はあくまで、外側で宣言された変数を参照しており、
8
8
 
9
- しかも、関数内では、その外側で宣言された変数に対して、代入を行っているので、共有ができています。
9
+ しかも、関数内では、その外側で宣言された変数に対して、代入を行っているので、同スコープとなり、
10
+
11
+ 使うことができます。
10
12
 
11
13
 
12
14
 

3

文章おかしかったので修正

2020/07/29 01:49

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- 対して、質問者さんの構文だと、代入がfunctionキーワードな上、完全にローカルスコープなため、それでは、外側からは参照できません
13
+ 対して、質問者さんの構文だと、代入がfunctionキーワードな上、完全にローカルスコープなため、それでは、外側からは参照できないのです
14
14
 
15
15
 
16
16
 

2

なぜ、画像と違う結果になるかを追記

2020/07/27 11:40

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -1,4 +1,16 @@
1
1
  別スコープなので、共有されません。
2
+
3
+
4
+
5
+ そもそも、画像と構文の構造がまるで違います。
6
+
7
+ 画像はあくまで、外側で宣言された変数を参照しており、
8
+
9
+ しかも、関数内では、その外側で宣言された変数に対して、代入を行っているので、共有ができています。
10
+
11
+
12
+
13
+ 対して、質問者さんの構文だと、代入がfunctionキーワードな上、完全にローカルスコープなため、それでは、外側からは参照できません。
2
14
 
3
15
 
4
16
 

1

誤回答だったため、訂正

2020/07/27 11:36

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -1,5 +1,13 @@
1
+ 別スコープなので、共有されません。
2
+
3
+
4
+
5
+ 下記は間違いだったので上記を持って回答とします。
6
+
7
+
8
+
1
- `inner_func1`を実行していないからです。
9
+ ~~`inner_func1`を実行していないからです。
2
10
 
3
11
  実行しないと、
4
12
 
5
- `hoge`が宣言されないような構文だからです。
13
+ `hoge`が宣言されないような構文だからです。~~