回答編集履歴

1

関数宣言のコード修正

2016/01/05 08:28

投稿

think49
think49

スコア18166

test CHANGED
@@ -6,24 +6,44 @@
6
6
 
7
7
  ```JavaScript
8
8
 
9
- hoge();
9
+ hoge(); // function hoge () {}
10
10
 
11
+ var hoge2 = hoge;
12
+
13
+ hoge = null;
14
+
15
+ hoge2(); // null
16
+
17
+
18
+
11
- foo(); // TypeError: foo is not a function(
19
+ foo(); // TypeError: foo is not a function
12
20
 
13
21
 
14
22
 
15
23
  var foo = function piyo () { // 変数宣言時に実体化される
16
24
 
17
- console.log(piyo); // 関数式の名前は不変であり、後から改変不可能
25
+ console.log(piyo); // 名前付き関数式の関数による名空間は不変であり、後から改変されるリスクはない
18
26
 
19
27
  };
20
28
 
21
29
 
22
30
 
23
- function hoge () {} // 関数orグローバルコードの先頭で実体化される
31
+ function hoge () { // 関数orグローバルコードの先頭で実体化される
32
+
33
+ console.log(hoge);
34
+
35
+ }
24
36
 
25
37
  ```
26
38
 
27
39
 
28
40
 
41
+ 名前付き関数式は `Function#name` にも影響します。
42
+
43
+
44
+
45
+ - [Function.name - JavaScript | MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name)
46
+
47
+
48
+
29
49
  Re: hidegital さん