不理解此函数调用中的参数

parameters in this function call are not understood

本文关键字:参数 函数调用 不理解      更新时间:2023-09-26

这个函数应该有两个参数,但是包含了一些我不明白它们是什么意思的字符。"?"的值是多少。这个函数中的两个参数是什么,我知道 panel.id 是其中之一.任何指向可以很好地解释它们的库的链接?谢谢

setPanelType(panel.id, ((encType) ? PANEL_ST_ENC : PANEL_NORMAL))

此处发布的重复问题可能是在解释"?"运算符是什么。但是,我不确定它在函数参数调用中的用法是否不同。这个问题不是重复的。

你遇到了一个叫做"条件运算符"*的东西。它基本上是编写 if 语句的简短方法。

例如:

String var;
var = 1 > 0 ? "It's bigger than 0" : "It's 0 or smaller";

与以下相同:

String var;
if(1 > 0){
    var = "It's bigger than 0";
}else{
    var = "It's 0 or smaller";
}

*它有时也被称为"三元"运算符,但这并不完全正确。它是一个"三元运算符"(接受三个操作数的运算符,就像乘法运算符一样,*是一个二元运算符,因为它接受两个操作数),但理论上可能还有其他操作数。事实上,我认为它是Java或JavaScript中唯一的三元运算符(至少目前是这样)。

此语法是 Javascript 中条件操作的简写。

(条件) ?(真实动作):(虚假动作)

相关:带有函数的 JavaScript 三元运算符示例

'?' 表示三元运算符 如上所述,encType 是一个布尔变量。

setPanelType(panel.id, ((encType) ? PANEL_ST_ENC : PANEL_NORMAL))

等于:

if (encType)
   setPanelType(panel.id, PANEL_ST_ENC))
else 
  setPanelType(panel.id, PANEL_NORMAL))