所以我使用了一个在线JavaScript优化器,它对我的IF语句做了一些奇怪的事情,对我来说是新的。
{1===a?window.addEventListener("scroll",turnOff):0===a&&window.removeEventListener("scroll",turnoff)}
这是世界上的什么?请帮助我理解它的各个部分。
答案 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并删除事件侦听器。
答案 3 :(得分:-1)
它是一个条件(三元)运算符。
您可以在开发人员Mozilla docs上阅读有关三元运算符的更多信息:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
结构如下:
condition ? code if true : code if false