“is x greater than y and less than z” 的表达式是什么?

27
我试图测试一个数字是否大于0但小于8。我应该如何在JavaScript中实现? 这就是我正在尝试的:
if (score > 0 < 8) { alert(score); }

@ephemient,你能否解释一下你的代码是如何工作的? - tom
2
@tom 简单易懂。score>>>0score 转换为非负整数。(负数由于二进制补码表示法变成了非常大的正数)。如果它大于等于8,min 会产生8,并与7进行按位与运算得到0,即假值。如果它在0和7之间,min 不会改变任何东西,& 也不会,结果是0或1到7之间的真值。 - ephemient
@AlexejMagura 链式不等式符号在数学中已经使用了几个世纪。这就是传统的力量!(例如,Paolo Ruffini的《方程的一般理论》1799年,第82页) - Magnus Lind Oxlund
一个相关的问题:https://dev59.com/m1nUa4cB1Zd3GeqPf_8I - Magnus Lind Oxlund
一个离题的问题:https://dev59.com/Hm855IYBdhLWcg3w5IrZ - Magnus Lind Oxlund
4个回答

49

这是代码:

if (score > 0 && score < 8){
    alert(score);
}

顺便说一句,这与jQuery无关。这很简单,只涉及JavaScript!


1
我们完全可以像这样做:if (8 > score > 0) { alert(score); } - Kaz Vorpal
真正简单和精简的 JavaScript :) - michael_vons

2
if ((score > 0) && (score < 8)) {
    alert(score);
}

但这是JavaScript,不是jQuery。


0

问题:创建一个名为score的变量,并将其设置为8

使用console.log(),其中包括字符串“中级技能:”,并使用&&运算符将分数变量与0以上且10以下进行比较

输出:

var score = 8;
console.log("Mid-level skills:", score > 0 && score < 10)


-2

尝试:

if(score > 0 && score < 8){alert(score);)

比较更有意义了,但语法错误仍然存在。 - Magnus Lind Oxlund

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接