gpt4 book ai didi

javascript - JavaScript 中的双三元

转载 作者:可可西里 更新时间:2023-11-01 02:16:52 25 4
gpt4 key购买 nike

我正在研究 jQuery 源代码中的一些东西,特别是 inArray 方法,我发现了这行代码:

i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;

我看到的是两个三元运算符,但我不知道它是如何使用的。我了解三元运算符的工作原理,但我以前从未见过这样使用它。这段代码是如何工作的??

最佳答案

1 + 2 + 3 一样分解它:

if (i) {
if (i < 0) {
i = Math.max(0, len + i);
} else {
i = i; // no-op
}
} else {
i = 0; // also no-op, since if `i` were anything else it would be truthy.
}

事实上,整条线对我来说似乎效率低下。我个人只会使用:

if (i < 0) { 
i = Math.max(0, len + i);
}

关于javascript - JavaScript 中的双三元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14427696/

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