你能单独使用条件三元运算符吗?(javascript)
我尝试使用以下构造:你能单独使用条件三元运算符吗?(javascript),javascript,ternary-operator,Javascript,Ternary Operator,我尝试使用以下构造: function messageTest(data2, data1, value){ (!value) ? if (data2 == 0x7F) return true : if (data1 == value && data2 == 0x7F) return false; } 但是我有一个语法错误。你能像这样单独使用三元运算符吗?我还使用WSH来执行此操作 你能单独使用条件三元运算符吗 是的,任何表达式都可以自己使
function messageTest(data2, data1, value){
(!value) ? if (data2 == 0x7F) return true :
if (data1 == value && data2 == 0x7F) return false;
}
但是我有一个语法错误。你能像这样单独使用三元运算符吗?我还使用WSH来执行此操作
你能单独使用条件三元运算符吗
是的,任何表达式都可以自己使用
但是我有一个语法错误
这是因为返回,如果不能位于表达式
的中间,就不能在三进制内返回和返回语句,你必须做一些类似的事情。return value ? !(data1 == value && data2 == 0x7F) : data2 == 0x7F;
请注意,我翻转了它,就像这样!在这种情况下,值没有意义,您也可以这样做
return value ? (data1 != value || data2 != 0x7F) : data2 == 0x7F;
您可以简化它,其中data2===0x7F作为bool计算,而不是使用IF
function messageTest(data2, data1, value) {
return (!value ? (data2 === 0x7F) : !((data1 === value) && (data2 === 0x7F)));
}
你有什么错误?没有-是a的碎片运算符必须是表达式,if语句肯定不是表达式。语法不正确,并且并非所有代码路径都返回值。例如,当值为false但数据为2!=0x7F?你来自Ruby吗您可以简化为返回值&&data1!=值| | Booleanvalue==data2==0x7FIt不是唯一的问题。