这是一个什么样的if语句



所以我使用了一个在线JavaScript优化器,它对我的IF语句做了一些奇怪的事情,这对我来说是新的。

{1===a?window.addEventListener("scroll",turnOff):0===a&&window.removeEventListener("scroll",turnoff)}

这到底是什么?请帮我理解它的各个部分。

三个等号表示严格的比较运算符。与通常的双等号不同,使用===可以比较type和被比较表达式的值。类型和值必须相等,语句才能计算为true。

?:if语句的简写版本。当1===a为true时,将评估问号后的语句。否则,将计算冒号后面的语句。if语句的这个简写版本被称为条件(或三元)运算符。

它是一个条件(三元)运算符。

您可以在开发者Mozilla文档中阅读更多关于三元运算符的信息:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

它的结构是这样的:

condition ? code if true : code if false

?操作员被用作if.

if(a){
   b;
} else {
   c;
}

等于

a ? b : c;

它被称为三元运算符。它比较条件

if a === 1

如果条件为真,则返回第一个结果:

window.addEventListener("scroll",turnOff)

第二个如果为假:

0===a&&window.removeEventListener("scroll",turnoff)

这行代码做了两件事,将a设置为0,并删除一个事件侦听器。

请参阅本教程

最新更新