teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

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

2020/06/15 01:04

投稿

tanakashouzoux
tanakashouzoux

スコア52

title CHANGED
File without changes
body CHANGED
@@ -24,31 +24,35 @@
24
24
 
25
25
 
26
26
  1.このコードではまず即時関数
27
- >function() {
28
- >var count = 0;
27
+ > 引用テキストfunction() {var count = 0;
29
- >return function() { // 子関数を返す
28
+ return function() { // 子関数を返す
30
- >return ++count; // 変数 count は親関数で定義されている
29
+ return ++count; // 変数 count は親関数で定義されている
31
- >};
30
+ };
32
- >}();
31
+ }();
32
+
33
33
  が書かれていて、即時関数なので書いた瞬間に実行され、その結果
34
34
  「countUpFromZero」
35
35
  には
36
+
36
-
37
+ >
37
- >function() { // 子関数を返す
38
+ function() { // 子関数を返す
38
- >var count = 0;
39
+ var count = 0;
39
- >return ++count; // 変数 count は親関数で定義されている
40
+ return ++count; // 変数 count は親関数で定義されている
40
- >};」
41
+ };」
42
+
41
43
  が入っていると考えたのですが、これは間違っているのでしょうか?
42
44
 
43
45
 
44
46
  2.「関数countUpFromZero」を1回だけ「countUpFromZero();」で呼び出した時、
45
47
  「countUpFromZero」
46
48
  には
47
-
49
+
50
+
48
- >function() { // 子関数を返す
51
+ > function() { // 子関数を返す
49
- >var count = 0;
52
+ var count = 0;
50
- >return ++count; // 変数 count は親関数で定義されている
53
+ return ++count; // 変数 count は親関数で定義されている
51
- >};」
54
+ };」
55
+
52
56
  が入っているので、この無名関数が実行され、その結果
53
57
  「countUpFromZero」
54
58
  には

3

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

2020/06/15 01:04

投稿

tanakashouzoux
tanakashouzoux

スコア52

title CHANGED
File without changes
body CHANGED
@@ -24,29 +24,31 @@
24
24
 
25
25
 
26
26
  1.このコードではまず即時関数
27
- function() {
27
+ >function() {
28
- var count = 0;
28
+ >var count = 0;
29
- return function() { // 子関数を返す
29
+ >return function() { // 子関数を返す
30
- return ++count; // 変数 count は親関数で定義されている
30
+ >return ++count; // 変数 count は親関数で定義されている
31
- };
31
+ >};
32
- }();
32
+ >}();
33
33
  が書かれていて、即時関数なので書いた瞬間に実行され、その結果
34
34
  「countUpFromZero」
35
35
  には
36
+
36
- function() { // 子関数を返す
37
+ >function() { // 子関数を返す
37
- var count = 0;
38
+ >var count = 0;
38
- return ++count; // 変数 count は親関数で定義されている
39
+ >return ++count; // 変数 count は親関数で定義されている
39
- };」
40
+ >};」
40
41
  が入っていると考えたのですが、これは間違っているのでしょうか?
41
42
 
42
43
 
43
44
  2.「関数countUpFromZero」を1回だけ「countUpFromZero();」で呼び出した時、
44
45
  「countUpFromZero」
45
46
  には
47
+
46
- function() { // 子関数を返す
48
+ >function() { // 子関数を返す
47
- var count = 0;
49
+ >var count = 0;
48
- return ++count; // 変数 count は親関数で定義されている
50
+ >return ++count; // 変数 count は親関数で定義されている
49
- };」
51
+ >};」
50
52
  が入っているので、この無名関数が実行され、その結果
51
53
  「countUpFromZero」
52
54
  には

2

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

2020/06/14 22:26

投稿

tanakashouzoux
tanakashouzoux

スコア52

title CHANGED
File without changes
body CHANGED
@@ -4,19 +4,21 @@
4
4
 
5
5
  尚以下のコード、コード内の日本語は本に書いてあったものをそのまま引用しています。
6
6
 
7
+ 引用元「開眼!Javascript p101」
8
+
7
9
  ```javascript
8
- var countUpFromZero = function() {
10
+ >var countUpFromZero = function() {
9
- var count = 0;
11
+ >var count = 0;
10
- return function() { // 子関数を返す
12
+ >return function() { // 子関数を返す
11
- return ++count; // 変数 count は親関数で定義されている
13
+ >return ++count; // 変数 count は親関数で定義されている
12
- };
14
+ >};
13
- }(); // countUpFromZero は呼ばれると即時実行し、無名関数を返す
15
+ >}(); // countUpFromZero は呼ばれると即時実行し、無名関数を返す
14
- /* countUpFromZero() に返された子関数はその親関数の変数 count にアクセスする必要がある
16
+ >/* countUpFromZero() に返された子関数はその親関数の変数 count にアクセスする必要がある
15
- ため、それを保持する。countUpFromZero() を実行するたびに return ++count が実行される。
17
+ >ため、それを保持する。countUpFromZero() を実行するたびに return ++count が実行される。
16
- */
18
+ >*/
17
- console.log(countUpFromZero()); // 出力:1
19
+ >console.log(countUpFromZero()); // 出力:1
18
- console.log(countUpFromZero()); // 出力:2
20
+ >console.log(countUpFromZero()); // 出力:2
19
- console.log(countUpFromZero()); // 出力:3
21
+ >console.log(countUpFromZero()); // 出力:3
20
22
  ```
21
23
 
22
24
 

1

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

2020/06/14 22:25

投稿

tanakashouzoux
tanakashouzoux

スコア52

title CHANGED
File without changes
body CHANGED
@@ -52,4 +52,10 @@
52
52
  が入ると考えたのですがこれは間違っているのでしょうか?
53
53
 
54
54
  3.2の考えがもし合っているのであれば上記コードのs「出力1、出力2、出力3」は間違っている気がするのですが、合っているのでしょうか?
55
- 実際に上記コードを私がコンソールで実行した所「undefined」と表示されてしまいました・・・
55
+ 実際に上記コードを私がコンソールで実行した所「undefined」と表示されてしまいました・・・
56
+
57
+ ---以下追記した部分となります---
58
+
59
+ 私が間違っていると思ったのは、私は出力1の所にcount=1,出力2の所にcount=2,出力3の所にcount=3,がコンソールに表示されると思ったので間違っていると考えました
60
+
61
+ あと、上記コードをGoogle developer toolsのconsoleの所に貼り付けてenterキーを押して確かめたところundefinedと表示されてしまいました・・・