如何在 Javascript 中定义 0x0001(等等)?

Kal*_*ina 0 javascript c++ variables

我正在查看类似于我在 Javascript 中所做的 C++ 项目的源代码以供参考。

在 C++ 中,我有

#define FIRST_THING 0x0001
#define SECOND_THING 0x0002
...
Run Code Online (Sandbox Code Playgroud)

这些值是什么意思?我将如何在 Javascript 中定义它?如果我尝试只使用 0x0001 等,事情就会中断,所以我可以这样做

var FIRST_THING = 1
var SECOND_THING = 2
Run Code Online (Sandbox Code Playgroud)

还是完全不同?

Ed *_* S. 5

0x0001是以 16 为底的积分常数,即十六进制。它仍然1以 10为基数。所以是的,您的示例是等效的,但是您知道如何进行心理解析0xBC吗?如果没有,那么您需要研究任意基本算术或至少熟悉十六进制,因为任何程序员都应该知道这些东西。

有时以十六进制形式查看数字更容易,因为它们代表位模式。在十六进制中,两个数字对应一个字节,所以你一眼就知道0xFF255基数 10 和11111111基数 2。在一些较低级别的项目上工作一段时间,这将成为第二天性。

在您的 C++ 示例中,整数常量被预处理器以文本方式替换(即,在编译代码之前,所有出现的FIRST_THING都被替换0x0001为),您在 javascript 中没有这样的工具,因此只需直接将值分配给变量。

您不能在 javascript 中创建“常量”,因此您需要确保不更改它们。但是,您可以简单地编写

firstThing = 0x0001;
Run Code Online (Sandbox Code Playgroud)

它将像 C++ 示例一样工作,即firstThing采用1.