这是什么样的if语句?

时间:2014-09-28 23:52:57

标签: javascript if-statement

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

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

这是世界上的什么?请帮助我理解它的各个部分。

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

?运算符仅用作if。

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

等于

a ? b : c;

答案 2 :(得分:0)

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

if a === 1

并在条件为真时返回第一个结果:

window.addEventListener("scroll",turnOff)

和第二个if false:

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

这行代码执行两项操作,设置等于0并删除事件侦听器。

参见 this tutorial

答案 3 :(得分:-1)

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

您可以在开发人员Mozilla docs上阅读有关三元运算符的更多信息:

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

结构如下:

condition ? code if true : code if false