回答編集履歴
1
疑問②への回答を追加
test
CHANGED
@@ -3,3 +3,52 @@
|
|
3
3
|
|
4
4
|
アラートはユーザーがOKを押すまで処理が中断されます。
|
5
5
|
`alert()`の代わりに`consle.log()`でログを表示させれば、スクロールしている間は繰り返し実行されているのが見えると思います。
|
6
|
+
|
7
|
+
## 疑問②への回答
|
8
|
+
> returnの右側の不等式?がどういう意味なのかが分からないです。
|
9
|
+
|
10
|
+
改行してしまっているので分かりにくいですが、
|
11
|
+
```javascript
|
12
|
+
return arguments.length > 0 ? this.on(name,null,data,fn) : this.trigger(name);
|
13
|
+
```
|
14
|
+
と、実際には1行の処理です。
|
15
|
+
三項演算子という記法です。
|
16
|
+
|
17
|
+
##### 三項演算子について
|
18
|
+
三項演算子はif文を1行で書けてしまう便利な記法です。
|
19
|
+
```javascript
|
20
|
+
条件 ? trueの時の処理 : falseの時の処理;
|
21
|
+
```
|
22
|
+
|
23
|
+
例)
|
24
|
+
```javascript
|
25
|
+
// if文で書いた場合
|
26
|
+
const age = 20;
|
27
|
+
let type;
|
28
|
+
|
29
|
+
if (age >= 18) {
|
30
|
+
type = 'adult';
|
31
|
+
} else {
|
32
|
+
type = 'child';
|
33
|
+
}
|
34
|
+
|
35
|
+
console.log(type); // 'adult'
|
36
|
+
|
37
|
+
// 三項演算子の場合
|
38
|
+
const age = 16
|
39
|
+
let type = age >= 18 ? 'adult' : 'child';
|
40
|
+
|
41
|
+
console.log(type); // 'child'
|
42
|
+
```
|
43
|
+
|
44
|
+
##### 質問のコードの三項演算子の処理
|
45
|
+
私はjQueryに詳しくありませんので詳しくは分かりませんが、
|
46
|
+
|
47
|
+
- `arguments.length > 0 ?`
|
48
|
+
- 渡された引数の長さが1つ以上だったら
|
49
|
+
- `this.on(name,null,data,fn)`
|
50
|
+
- 対象に`.on()`メソッドを実行する
|
51
|
+
- `: this.trigger(name)`
|
52
|
+
- 引数が1つ未満だったら、対象に`.trigger()`メソッドを実行する
|
53
|
+
|
54
|
+
という意味合いです。
|