回答編集履歴

3

不必要な行を削除

2018/03/18 15:34

投稿

defghi1977
defghi1977

スコア4756

test CHANGED
@@ -22,8 +22,6 @@
22
22
 
23
23
  if(i >= max){
24
24
 
25
- document.close();
26
-
27
25
  clearInterval(h);
28
26
 
29
27
  }

2

FireFoxでも動作するように内容を変更, 一部をテンプレートリテラルに変更

2018/03/18 15:34

投稿

defghi1977
defghi1977

スコア4756

test CHANGED
@@ -2,19 +2,23 @@
2
2
 
3
3
 
4
4
 
5
+ ```HTML
6
+
7
+ <output id="out" style="white-space:pre;"></output>
8
+
5
- ```JavaScript
9
+ <script>
10
+
11
+ "use strict";
6
12
 
7
13
  {
8
14
 
9
- const max = 100;
10
-
11
15
  let i = 0;
12
16
 
13
- const h = setInterval(() => {
17
+ const max = 100, h = setInterval(() => {
14
18
 
15
19
  let result = ++i % 3 == 0 || i.toString().match(/3/) ? "aho!" : i;
16
20
 
17
- document.write(result + "<br/>");
21
+ out.value += `${result}\n\r`;
18
22
 
19
23
  if(i >= max){
20
24
 
@@ -28,4 +32,10 @@
28
32
 
29
33
  }
30
34
 
35
+ </script>
36
+
31
37
  ```
38
+
39
+ NOTE:
40
+
41
+ 当初は`document.write`を使っていましたが, FireFoxにおいて`setInterval`による非同期処理と相性が悪かったため, 出力先を変更しています.

1

関数名を省略できるような構造に

2018/03/18 15:27

投稿

defghi1977
defghi1977

スコア4756

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  let i = 0;
12
12
 
13
- function count(){
13
+ const h = setInterval(() => {
14
14
 
15
15
  let result = ++i % 3 == 0 || i.toString().match(/3/) ? "aho!" : i;
16
16
 
@@ -24,9 +24,7 @@
24
24
 
25
25
  }
26
26
 
27
- }
28
-
29
- const h = setInterval(count, 1000);
27
+ }, 1000);
30
28
 
31
29
  }
32
30