问题标签 [comparison-operators]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
10341 浏览

c++ - 运算符<比较多个字段

我有以下 operator< 应该首先按一个值排序,然后按另一个值排序:

我觉得这是不正确的,如果不对成员变量进行第三次比较测试,您将无法做到这一点,但我找不到任何这不起作用的示例。那么这真的会像预期的那样排序吗?谢谢

编辑:我会将其编码为:

有什么区别吗?我问是因为我知道我的经验是正确的,但也比第一个长

0 投票
2 回答
1620 浏览

c# - ulong和long之间不可能的比较突然可能

我知道为什么不允许这样做:

显然,运行时无法将操作数隐式转换为其他类型或更大的类型以进行比较。

运算符“<”不能应用于“ulong”和“long”类型的操作数。

因此,这也是不允许的(使用MinValueand const):

然而,这是允许的(MaxValue而不是):

<接受 aulong并没有过载long,但我在 Reflector 中看到它会默默地转换Int64.MaxValue为 a ulong。但这并不总是发生。它是如何工作的,这种不一致的原因是什么?

0 投票
2 回答
24546 浏览

java - Java instanceof 运算符

是否存在可与instanceof运算符一起使用的有效类类型变量?例如:

作为替代方案:

会有任何性能优势吗?

0 投票
1 回答
1727 浏览

asp-classic - 我如何制作一个 vbscript 数据类型子类型 LONG 以使其成为 2,147,483,647?

我有一个网页,一次显示一个目录中的 10 张图像。在目录中,我现在有 55,000 张图像。一旦 zz 低于 32,767,它就会停止。如何使 ZZ 成为子类型 LONG 以使其成为 2,147,483,647(下面的代码不准确,只是快速完成以向您展示我正在实现的循环)

0 投票
1 回答
193 浏览

javascript - JavaScript if() 语句未按预期计算

我有一个jsFiddle来演示我的问题(并让你们理顺我)。

我只是检查两个输入文本框的值,并在最高价格低于最低价格时提醒用户,但他们正在向后评估!我有 if(maxValue < minValue)...但它评估它好像运算符是“大于”。

我错过了什么?!?

这是js,

0 投票
4 回答
3483 浏览

php - 将 1 个值与 PHP 中的单个数组进行比较

如何将一个值与特定数组中的每个值进行比较?

例如:

我只需要一次确定颜色,无需重复打印其他颜色。

这可能会让我实现从数据库中检索的动态值,然后比较 PHP 脚本中的 [hardcode] 数组。然后,将精确的值匹配返回到屏幕上,例如上面的场景。

0 投票
7 回答
8054 浏览

c++ - 布尔值的排序

在 C++ 或C99 下,如何为布尔值定义<stdbool.h>小于运算符?<

或者,解释此代码的行为:

在 MSVC 版本 10 下,编译为 C++ 代码,GCC 4.6.3-ubuntu5 编译为 C 代码,G++ 4.6.3-1ubuntu5 编译为 C++ 代码,你得到的只是

也就是说,以下不等式都是false

以下是true

0 投票
1 回答
75 浏览

c++ - 子网类的比较运算符

我想为子网类定义一些比较运算符。我的第一个想法是我们应该比较子网中的主机数量:

我不确定在两个大小相似但不同的子网的情况下应该做什么:

0 投票
5 回答
8353 浏览

php - “!==”和“==!”之间的区别

昨天我在修改别人编写的 PHP 代码时偶然发现了这个问题。我很困惑,一个简单的比较 ( if ($var ==! " ")) 没有按预期工作。经过一些测试后,我意识到编写该代码的人==!不是!==用作比较运算符。我从未见过==!任何语言,所以我想知道这段代码到底是如何工作的,并做了一些测试:

这会产生以下输出:

该运算符似乎适用于布尔变量和整数变量,但不适用于字符串。==!我在 PHP 文档或任何搜索引擎上都找不到任何相关内容(尝试过 Google、Bing、DuckDuckGo,但我怀疑他们试图解释它而不是搜索文字字符串)。有没有人以前见过这个并且可以阐明这种行为?

0 投票
6 回答
18900 浏览

javascript - JavaScript - === vs == 运算符性能

几周前,我读过这个线程< 比 <= 快吗?关于比较运算符C。据说它们之间的性能没有差异,<因为<=它们被解释为相同/相似的机器命令。

同时,在我们公司的“最佳实践”中,有人说我们应该始终使用“===”来比较事物,而不是“==”。所以,我开始怀疑这是否总是合适的,因为我习惯使用“==”和“typeof ... ==”并且不想改变我的写作方式:-]

请注意,这是在 JavaScript 的上下文中。

所以,我做了一点研究,在这里JavaScript 比较中应该使用哪个等于运算符(== vs ===)?据说:

这是因为相等运算符 == 确实类型强制...意味着解释器隐式尝试转换值然后进行比较。

另一方面,恒等运算符 === 不进行类型强制,因此在比较时它不会转换值的值

我开始怀疑这是否意味着当我使用“===”运算符时,我会获得良好的性能,因为不会花费任何资源来转换操作数。而在所有的代码都变成了机器命令之后,这是否意味着就像C你使用<and的时候没有区别<=一样,这在 JavaScript 和其他语言中也是一样的?