回答編集履歴

5

DEMOが古い

2015/11/02 23:43

投稿

horse_n_deer
horse_n_deer

スコア452

test CHANGED
@@ -1,4 +1,4 @@
1
- クロージャと即次関数を利用して、外部から変数の変更を禁止します。[DEMO](https://jsfiddle.net/59naga/7jos9r0v/1/)
1
+ クロージャと即次関数を利用して、外部から変数の変更を禁止します。[DEMO](https://jsfiddle.net/59naga/7jos9r0v/2/)
2
2
 
3
3
 
4
4
 

4

コメント内に使用する固有名詞を極限まで減らす

2015/11/02 23:43

投稿

horse_n_deer
horse_n_deer

スコア452

test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  addEventListener('keydown',function(event){
20
20
 
21
- // 入力キーを記憶して、タイマーを初期化する
21
+ // 入力キーを記憶する
22
22
 
23
23
  if(previousKey!==event.keyCode){
24
24
 

3

コメントの整理

2015/11/02 23:41

投稿

horse_n_deer
horse_n_deer

スコア452

test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- // 時間超過で初期化
29
+ // 時間超過で入力キーをクリア
30
30
 
31
31
  clearTimeout(timeoutId)
32
32
 
@@ -42,9 +42,11 @@
42
42
 
43
43
  }
44
44
 
45
- previousKey= null// 再度、二重入力できるように初期化する
45
+ previousKey= null// 再度、二重入力できるようにクリア
46
46
 
47
+
47
48
 
49
+ // 以下、二重入力時の処理…
48
50
 
49
51
  alert(event.keyCode)
50
52
 

2

リファクタリング

2015/11/02 23:37

投稿

horse_n_deer
horse_n_deer

スコア452

test CHANGED
@@ -6,13 +6,37 @@
6
6
 
7
7
  (function(){
8
8
 
9
+ var timeout= 1000// ms
10
+
11
+
12
+
13
+ // タイマー、入力キーのキャッシュ
14
+
15
+ var timeoutId= null
16
+
9
17
  var previousKey= null
10
18
 
11
- window.addEventListener('keydown',function(event){
19
+ addEventListener('keydown',function(event){
20
+
21
+ // 入力キーを記憶して、タイマーを初期化する
12
22
 
13
23
  if(previousKey!==event.keyCode){
14
24
 
15
25
  previousKey= event.keyCode
26
+
27
+
28
+
29
+ // 時間超過で初期化
30
+
31
+ clearTimeout(timeoutId)
32
+
33
+ timeoutId= setTimeout(function(){
34
+
35
+ previousKey= null
36
+
37
+ },timeout)
38
+
39
+
16
40
 
17
41
  return
18
42
 

1

誤字:てにおは

2015/11/02 23:35

投稿

horse_n_deer
horse_n_deer

スコア452

test CHANGED
@@ -1,4 +1,4 @@
1
- クロージャと即次関数を利用して、外部から変数変更を禁止します。[DEMO](https://jsfiddle.net/59naga/7jos9r0v/1/)
1
+ クロージャと即次関数を利用して、外部から変数変更を禁止します。[DEMO](https://jsfiddle.net/59naga/7jos9r0v/1/)
2
2
 
3
3
 
4
4