|
|
本帖最后由 马黑黑 于 2023-4-13 13:01 编辑
我们常用的这个 mState() 函数,大家可以慢慢扩展了。三元运算符的使用,如果需要,支持多个语句的:
let mState = () => 条件 ? (语句一, 语句二) : (语句1, 语句2);
解读:如果条件成立,则执行语句一和语句二,否则如果条件不成立,执行语句1和语句2。
有时我们只针对一个对象进行判断,这时就只有语句一和语句1:
let mState = () => 条件 ? 语句一 : 语1;
解读:要做的事情具体由语句一和语句1描述,如果条件成立,则执行语句一,反之执行语句1。
下面再举两个三元运算符的例子并加以说明,它们不一定只是针对 mState 函数:
例一
papa.setProperty('--state', aud.paused ? 'paused' : 'running');
父元素 papa 依据 audio 是否暂停来决定 CSS变量 --state 的值:如果 audio 暂停状态为真,--state 的值取 paused ,否则,取值是 running 。
例二
mybox.onclick = () => aud.paused ? aud.play() : aud.pause();
上面是 mybox 元素点击事件,点击时,如果音频(aud是audio句柄)暂停,则播放音频,反之,如果音频播放中,则暂停它。
三元运算符不仅仅是语法糖,它同时非常优美且优雅。
|
评分
-
| 参与人数 1 | 威望 +50 |
金钱 +100 |
经验 +50 |
收起
理由
|
红影
| + 50 |
+ 100 |
+ 50 |
赞一个! |
查看全部评分
|