回答編集履歴
2
「function文」への指摘に対応
test
CHANGED
@@ -67,3 +67,15 @@
|
|
67
67
|
|
68
68
|
|
69
69
|
誤解されているかもしれないので念のため付け加えておきますが、ご質問に書かれていた「カッコあり」の方も、**change() に渡しているものは**関数呼び出しではありません。関数の定義です。関数の呼び出しは通常、関数オブジェクトの後ろに `()` をつけて呼び出すものです。(**showValues() は関数の呼び出し**)
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
---
|
74
|
+
|
75
|
+
2016-04-27 追記
|
76
|
+
|
77
|
+
「function 文」という用語は正しくなく、「関数宣言」とすべき、とのご指摘をいただきました。
|
78
|
+
|
79
|
+
「function 式」の方もあわせて「関数式」と置き換えるとよさそうです。
|
80
|
+
|
81
|
+
詳しくは、[関数と変数の巻き上げの違いとは - teratail](https://teratail.com/questions/33002) に対する私の回答への [think49](https://teratail.com/users/think49) さんのコメントをご覧ください。
|
1
追記
test
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
```
|
30
30
|
|
31
|
-
のように、リテラルあるいは変数で実引数を渡せますが、関数を引数にとるような関数でも同じようなことができます。
|
31
|
+
のように、「整数リテラル」あるいは「変数に入った整数」で実引数を渡せますが、関数を引数にとるような関数でも同じようなことができます。
|
32
32
|
|
33
33
|
```javascript
|
34
34
|
|
@@ -52,7 +52,7 @@
|
|
52
52
|
|
53
53
|
```
|
54
54
|
|
55
|
-
というように関数リテラルあるいは変数に入った関数を、実引数として関数 (`execTwice`) に渡せます。
|
55
|
+
というように「関数リテラル」あるいは「変数に入った関数」を、実引数として関数 (`execTwice`) に渡せます。
|
56
56
|
|
57
57
|
また、関数の場合は、先の `add2()` のように**function文**で定義した関数を名前で渡すことができます (`sub2` の方は**function式** で定義)。
|
58
58
|
|
@@ -62,8 +62,8 @@
|
|
62
62
|
|
63
63
|
```
|
64
64
|
|
65
|
-
ご質問に戻りますと、`change()` に渡している `showValues` は、function
|
65
|
+
ご質問に戻りますと、`change()` に渡している `showValues` は、「function文で生成された関数オブジェクトが代入された変数」か「function 式で定義された関数名」かのいずれかです。
|
66
66
|
|
67
67
|
|
68
68
|
|
69
|
-
誤解されているかもしれないので念のため付け加えておきますが、ご質問に書かれていた「カッコあり」の方も、関数呼び出しではありません。関数の定義です。関数の呼び出しは通常、関数オブジェクトの後ろに `()` をつけて呼び出すものです。
|
69
|
+
誤解されているかもしれないので念のため付け加えておきますが、ご質問に書かれていた「カッコあり」の方も、**change() に渡しているものは**関数呼び出しではありません。関数の定義です。関数の呼び出しは通常、関数オブジェクトの後ろに `()` をつけて呼び出すものです。(**showValues() は関数の呼び出し**)
|