回答編集履歴
4
表現の修正
answer
CHANGED
@@ -27,7 +27,7 @@
|
|
27
27
|
同じ名前にしてしまうと、後で変数名を変えた時にクラス名まで変えなくてはなりません。
|
28
28
|
|
29
29
|
変数名を一つの名前で固定すると、関数と変数の間に**依存関係**が出来ます。
|
30
|
-
変数のスコープは出来るだけ狭くし、参照透過性を持つ設計にする
|
30
|
+
変数のスコープは出来るだけ狭くし、参照透過性を持つ設計にするのが、可搬性/汎用性の観点から好ましいと感じます。
|
31
31
|
|
32
32
|
### data-*属性 + event.data
|
33
33
|
|
3
表現の修正
answer
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
変数名を一つの名前で固定すると、関数と変数の間に**依存関係**が出来ます。
|
30
30
|
変数のスコープは出来るだけ狭くし、参照透過性を持つ設計にすると、より可搬性/汎用性の高いコードとなります。
|
31
31
|
|
32
|
-
### data-* + event.data
|
32
|
+
### data-*属性 + event.data
|
33
33
|
|
34
34
|
```HTML
|
35
35
|
<input type="button" class="sample" value="push1" data-index="0">
|
2
data-* + event.data
answer
CHANGED
@@ -12,4 +12,41 @@
|
|
12
12
|
|
13
13
|
他に、`data-*`属性に埋め込む手もあります。
|
14
14
|
|
15
|
+
### 引数を減らす
|
16
|
+
|
17
|
+
> ```JavaScript
|
18
|
+
> function sample (cls) {
|
19
|
+
> $("."+cls).on('click',function(){
|
20
|
+
> (a[cls]).push(/*something*/)
|
21
|
+
> })
|
22
|
+
> }
|
23
|
+
> ```
|
24
|
+
|
25
|
+
クラス名と変数名(プロパティ名)を一つの変数にまとめて、引数を減らす設計は良いとは思いません。
|
26
|
+
クラス名と変数名は別の概念であり、同じ名前にする必然性はありません。
|
27
|
+
同じ名前にしてしまうと、後で変数名を変えた時にクラス名まで変えなくてはなりません。
|
28
|
+
|
29
|
+
変数名を一つの名前で固定すると、関数と変数の間に**依存関係**が出来ます。
|
30
|
+
変数のスコープは出来るだけ狭くし、参照透過性を持つ設計にすると、より可搬性/汎用性の高いコードとなります。
|
31
|
+
|
32
|
+
### data-* + event.data
|
33
|
+
|
34
|
+
```HTML
|
35
|
+
<input type="button" class="sample" value="push1" data-index="0">
|
36
|
+
<input type="button" class="sample" value="push2" data-index="1">
|
37
|
+
<input type="button" class="sample" value="push3" data-index="2">
|
38
|
+
<script>
|
39
|
+
'use strict';
|
40
|
+
function handleClick (event) {
|
41
|
+
console.log(event.data[jQuery(event.target).data('index')]);
|
42
|
+
}
|
43
|
+
|
44
|
+
function addClickHandler (selectorText, data, handler) {
|
45
|
+
jQuery(selectorText).on('click', data, handler);
|
46
|
+
}
|
47
|
+
|
48
|
+
addClickHandler('.sample', ['sample1','sample2','sample3'], handleClick);
|
49
|
+
</script>
|
50
|
+
```
|
51
|
+
|
15
52
|
Re: SugiuraY さん
|
1
表現の修正
answer
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
-
|
1
|
+
### event.data
|
2
2
|
|
3
|
+
イベントハンドラ関数に値を渡すのであれば、jQueryには `event.data` が用意されています。
|
4
|
+
|
3
5
|
- [event.data | jQuery API Documentation](https://api.jquery.com/event.data/)
|
4
6
|
|
5
7
|
```JavaScript
|