質問編集履歴
4
引用と分かる様にしました
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
|
-
|
55
|
+
return function() { // 子関数を返す
|
56
56
|
|
57
|
-
|
57
|
+
return ++count; // 変数 count は親関数で定義されている
|
58
58
|
|
59
|
-
|
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
|
-
>
|
73
|
+
>
|
76
74
|
|
77
|
-
|
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
引用文の行頭に>を再度追加いたしました
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
|
-
「
|
71
|
+
「
|
72
72
|
|
73
|
-
|
73
|
+
>function() { // 子関数を返す
|
74
74
|
|
75
|
-
r
|
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
|
-
「
|
93
|
+
「
|
92
94
|
|
93
|
-
|
95
|
+
>function() { // 子関数を返す
|
94
96
|
|
95
|
-
r
|
97
|
+
>var count = 0;
|
96
98
|
|
99
|
+
>return ++count; // 変数 count は親関数で定義されている
|
100
|
+
|
97
|
-
};」
|
101
|
+
>};」
|
98
102
|
|
99
103
|
が入っているので、この無名関数が実行され、その結果
|
100
104
|
|
2
引用部分が分かる様に引用文の行頭に>を付け、引用書籍について記述させて頂きました
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
質問について追記をさせて頂きました
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と表示されてしまいました・・・
|