回答編集履歴
4
judge
test
CHANGED
@@ -33,3 +33,8 @@
|
|
33
33
|
こちらの例では、グローバル変数をいじっているわけではなく、ただたんに値を生成しているだけです。
|
34
34
|
従って、`return`で値を戻してどこかに格納してやる必要があります。
|
35
35
|
これがビンゴゲームの原理です。
|
36
|
+
|
37
|
+
### 使い分け
|
38
|
+
グローバル変数を書き換える「`return`なし」でたくさん関数をつくると、グローバルに変数だらけになってしまうと思います。
|
39
|
+
なので基本的に「`return`あり」での処理を優先させた方が、グローバルがスッキリ綺麗ですし、色々便利です。
|
40
|
+
ただし、いろいろな関数で共通して使用される値の場合はグローバル変数として用意しておいて、必要に応じて「`return`なし」で値を書き換えるようにします。
|
3
edit
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
plus10();
|
19
19
|
console.log(number); // 10
|
20
20
|
```
|
21
|
-
グローバル変数に直接値を代入しなおしているので、`return`が不要です。
|
21
|
+
グローバル変数に直接値を代入しなおしている(グローバル変数を書き換えている)ので、`return`が不要です。
|
22
22
|
これがストップウォッチにある関数の原理です。
|
23
23
|
|
24
24
|
### returnがいる例
|
2
コードをわかりやすくかく
test
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
let number = 0;
|
13
13
|
|
14
14
|
function plus10() {
|
15
|
-
number
|
15
|
+
number = number + 10;
|
16
16
|
}
|
17
17
|
|
18
18
|
plus10();
|
1
誤字
test
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
そしてなぜストップウォッチにはいらないのか、という理由ですが、グローバルの変数の値を変えているからです。
|
8
8
|
|
9
9
|
### return不要の例
|
10
|
-
元
|
10
|
+
元の数字に10を足す処理をする関数です。
|
11
11
|
```javascript
|
12
12
|
let number = 0;
|
13
13
|
|