例如:
this.audio.paused && (this.audio.play(), this.dom.playbutton.classList.add("skPlayer-pause"), this.dom.cover.classList.add("skPlayer-pause"));
这句话用普通写法是这样的吗?
if (this.audio.paused) {
if (!isLoaded) {
this.audio.load();
isLoaded = true;
}
this.audio.play();
this.dom.playbutton.classList.add("skPlayer-pause");
this.dom.cover.classList.add("skPlayer-pause");
}
似乎运行的结果不是一样的。
求指教
短路逻辑
A&&B
当A为false的时候B不会继续运行了,因为A已经false了,不管B是true还是false,都不会影响整体的返回值。一般对if语句的压缩也都是改成
&&
的形式补充:
A||B
当A为true的时候,B也没必要执行。(A,B)
,这种的话就没所谓短路逻辑包括在里面了,其实就是相当于简写了下面这种形式