質問編集履歴

4

引用と分かる様にしました

2020/06/15 01:04

投稿

tanakashouzoux
tanakashouzoux

スコア52

test CHANGED
File without changes
test CHANGED
@@ -50,17 +50,17 @@
50
50
 
51
51
  1.このコードではまず即時関数
52
52
 
53
- >function() {
53
+ > 引用テキストfunction() {var count = 0;
54
54
 
55
- >var count = 0;
55
+ return function() { // 子関数を返す
56
56
 
57
- >return function() { // 関数を返す
57
+ return ++count; // 変数 count は親関数で定義されている
58
58
 
59
- >return ++count; // 変数 count は親関数で定義されている
59
+ };
60
60
 
61
- >};
61
+ }();
62
62
 
63
- >}();
63
+
64
64
 
65
65
  が書かれていて、即時関数なので書いた瞬間に実行され、その結果
66
66
 
@@ -68,15 +68,19 @@
68
68
 
69
69
  には
70
70
 
71
-
72
71
 
73
- >function() { // 子関数を返す
74
72
 
75
- >var count = 0;
73
+ >
76
74
 
77
- >return ++count; // 変数 count は親関数で定義されている
75
+ function() { // 関数を返す
78
76
 
77
+ var count = 0;
78
+
79
+ return ++count; // 変数 count は親関数で定義されている
80
+
79
- >};」
81
+ };」
82
+
83
+
80
84
 
81
85
  が入っていると考えたのですが、これは間違っているのでしょうか?
82
86
 
@@ -90,15 +94,19 @@
90
94
 
91
95
  には
92
96
 
93
-
94
97
 
95
- >function() { // 子関数を返す
96
98
 
97
- >var count = 0;
98
99
 
99
- >return ++count; // 変数 count は親関数で定義されている
100
100
 
101
+ > function() { // 子関数を返す
102
+
103
+ var count = 0;
104
+
105
+ return ++count; // 変数 count は親関数で定義されている
106
+
101
- >};」
107
+ };」
108
+
109
+
102
110
 
103
111
  が入っているので、この無名関数が実行され、その結果
104
112
 

3

引用文の行頭に>を再度追加いたしました

2020/06/15 01:04

投稿

tanakashouzoux
tanakashouzoux

スコア52

test CHANGED
File without changes
test CHANGED
@@ -50,17 +50,17 @@
50
50
 
51
51
  1.このコードではまず即時関数
52
52
 
53
- function() {
53
+ >function() {
54
54
 
55
- var count = 0;
55
+ >var count = 0;
56
56
 
57
- return function() { // 子関数を返す
57
+ >return function() { // 子関数を返す
58
58
 
59
- return ++count; // 変数 count は親関数で定義されている
59
+ >return ++count; // 変数 count は親関数で定義されている
60
60
 
61
- };
61
+ >};
62
62
 
63
- }();
63
+ >}();
64
64
 
65
65
  が書かれていて、即時関数なので書いた瞬間に実行され、その結果
66
66
 
@@ -68,13 +68,15 @@
68
68
 
69
69
  には
70
70
 
71
- function() { // 子関数を返す
71
+
72
72
 
73
- var count = 0;
73
+ >function() { // 子関数を返す
74
74
 
75
- return ++count; // 変数 count は親関数で定義されている
75
+ >var count = 0;
76
76
 
77
+ >return ++count; // 変数 count は親関数で定義されている
78
+
77
- };」
79
+ >};」
78
80
 
79
81
  が入っていると考えたのですが、これは間違っているのでしょうか?
80
82
 
@@ -88,13 +90,15 @@
88
90
 
89
91
  には
90
92
 
91
- function() { // 子関数を返す
93
+
92
94
 
93
- var count = 0;
95
+ >function() { // 子関数を返す
94
96
 
95
- return ++count; // 変数 count は親関数で定義されている
97
+ >var count = 0;
96
98
 
99
+ >return ++count; // 変数 count は親関数で定義されている
100
+
97
- };」
101
+ >};」
98
102
 
99
103
  が入っているので、この無名関数が実行され、その結果
100
104
 

2

引用部分が分かる様に引用文の行頭に>を付け、引用書籍について記述させて頂きました

2020/06/14 22:26

投稿

tanakashouzoux
tanakashouzoux

スコア52

test CHANGED
File without changes
test CHANGED
@@ -10,31 +10,35 @@
10
10
 
11
11
 
12
12
 
13
+ 引用元「開眼!Javascript p101」
14
+
15
+
16
+
13
17
  ```javascript
14
18
 
15
- var countUpFromZero = function() {
19
+ >var countUpFromZero = function() {
16
20
 
17
- var count = 0;
21
+ >var count = 0;
18
22
 
19
- return function() { // 子関数を返す
23
+ >return function() { // 子関数を返す
20
24
 
21
- return ++count; // 変数 count は親関数で定義されている
25
+ >return ++count; // 変数 count は親関数で定義されている
22
26
 
23
- };
27
+ >};
24
28
 
25
- }(); // countUpFromZero は呼ばれると即時実行し、無名関数を返す
29
+ >}(); // countUpFromZero は呼ばれると即時実行し、無名関数を返す
26
30
 
27
- /* countUpFromZero() に返された子関数はその親関数の変数 count にアクセスする必要がある
31
+ >/* countUpFromZero() に返された子関数はその親関数の変数 count にアクセスする必要がある
28
32
 
29
- ため、それを保持する。countUpFromZero() を実行するたびに return ++count が実行される。
33
+ >ため、それを保持する。countUpFromZero() を実行するたびに return ++count が実行される。
30
34
 
31
- */
35
+ >*/
32
36
 
33
- console.log(countUpFromZero()); // 出力:1
37
+ >console.log(countUpFromZero()); // 出力:1
34
38
 
35
- console.log(countUpFromZero()); // 出力:2
39
+ >console.log(countUpFromZero()); // 出力:2
36
40
 
37
- console.log(countUpFromZero()); // 出力:3
41
+ >console.log(countUpFromZero()); // 出力:3
38
42
 
39
43
  ```
40
44
 

1

質問について追記をさせて頂きました

2020/06/14 22:25

投稿

tanakashouzoux
tanakashouzoux

スコア52

test CHANGED
File without changes
test CHANGED
@@ -107,3 +107,15 @@
107
107
  3.2の考えがもし合っているのであれば上記コードのs「出力1、出力2、出力3」は間違っている気がするのですが、合っているのでしょうか?
108
108
 
109
109
  実際に上記コードを私がコンソールで実行した所「undefined」と表示されてしまいました・・・
110
+
111
+
112
+
113
+ ---以下追記した部分となります---
114
+
115
+
116
+
117
+ 私が間違っていると思ったのは、私は出力1の所にcount=1,出力2の所にcount=2,出力3の所にcount=3,がコンソールに表示されると思ったので間違っていると考えました
118
+
119
+
120
+
121
+ あと、上記コードをGoogle developer toolsのconsoleの所に貼り付けてenterキーを押して確かめたところundefinedと表示されてしまいました・・・