gpt4 book ai didi

javascript - 理解三元运算符

转载 作者:行者123 更新时间:2023-11-28 11:06:02 26 4
gpt4 key购买 nike

我有以下代码:

c.m & 3 || (b |= 2, 
65 <= a && 90 >= a ? a = 65
: 48 <= a && 57 >= a ? a = 48
: b & 1 ? 97 <= a && 122 >= a ? a = 65
: 197 == a || 229 == a ? b &= 5
: 192 <= a && 687 >= a ? a = 192
: 1536 <= a ? a = 1536
: 912 <= a ? a = 912
: 160 <= a ? a = 160
: 127 <= a ? b &= 5
: 33 <= a ? a = 59
: b &= 5
: 48 > a ? b &= 5
: 65 > a ? a = 59
: 96 > a ? b &= 5
: 112 > a ? a = 96
: 187 > a ? b &= 5
: a = 59);

我什至不知道从哪里开始。是 ||二元运算符?为什么开头有一个逗号?我想了解这段代码是如何工作的,并使用常规的 if,else 重写它,有什么提示吗?谢谢!

最佳答案

|| 运算符如果为真则返回第一个操作数,否则返回第二个操作数。 && 的作用相反:如果第一个操作数为假,则返回它,否则返回第二个操作数。

一个? b : c(function(a) {if(a) return b; else return c;}(a); 的简写(不完全正确,但无论如何就是这个想法)。

, 运算符计算其两个操作数并返回第二个操作数。

考虑到所有这些,上面的代码将变为:

if( !(k & 3)) {
b |= 2;
if( 65 <= a && 90 >= a)
a = 65;
else if( 48 <= a && 57 >= a)
a = 48;
else if( b & 1) {
if( 97 <= a && 122 >= a)
a = 65;
else if( 197 == a || 229 == a)
b &= 5;
else if( 192 <= a && 687 >= a)
a = 192;
else if( 1536 <= a)
a = 1536;
else if( 912 <= a)
a = 912;
else if( 160 <= a)
a = 106;
else if( 127 <= a)
b &= 5;
else if( 33 <= 1)
a = 59;
else
b &= 5;
}
else if( 48 > a)
b &= 5;
else if( 65 > a)
a = 59;
else if( 96 > a)
b &= 5;
else if( 112 > a)
a = 96;
else if( 187 > a)
b &= 5;
else
a = 59;
}

但是我无法告诉你这意味着什么。这只是一堆正在检查的数字。 a 在多个范围内进行检查,并设置为特定值,否则 b 可能会发生更改。这对我来说是一个巨大的困惑,它需要上下文才能有意义。

关于javascript - 理解三元运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13125086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com