如何在Javascript中定义0x0001(等)? 我正在查看一个类似于我在JavaScript中引用的C++项目的源代码。 在C++中,我有< /P> #define FIRST_THING 0x0001 #define SECOND_THING 0x0002 ...

如何在Javascript中定义0x0001(等)? 我正在查看一个类似于我在JavaScript中引用的C++项目的源代码。 在C++中,我有< /P> #define FIRST_THING 0x0001 #define SECOND_THING 0x0002 ...,javascript,c++,variables,Javascript,C++,Variables,这些值意味着什么?我将如何在Javascript中定义它?如果我试着只使用0x0001之类的东西,事情就会破裂,所以我可以这样做吗 var FIRST_THING = 1 var SECOND_THING = 2 还是完全不同?C++中的,它们是十六进制的预处理器常数。 在javascript中,没有预处理器。0x0001是以16为基数的整数常量,即十六进制。它仍然是以10为基数的1。是的,您的示例是等效的,但是您知道如何解析0xBC吗?如果不是,那么你需要学习任意的基本算法,或者至少熟悉十六

这些值意味着什么?我将如何在Javascript中定义它?如果我试着只使用0x0001之类的东西,事情就会破裂,所以我可以这样做吗

var FIRST_THING = 1
var SECOND_THING = 2

<>还是完全不同?C++中的

,它们是十六进制的预处理器常数。 在javascript中,没有预处理器。

0x0001是以16为基数的整数常量,即十六进制。它仍然是以10为基数的1。是的,您的示例是等效的,但是您知道如何解析0xBC吗?如果不是,那么你需要学习任意的基本算法,或者至少熟悉十六进制,因为任何程序员都应该知道这方面的知识

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

在C++示例中,积分常数由预处理器替换,即,在代码编译之前,所有的FixSTYOST事件都被0x001替换,您在JavaScript中没有这样的工具,所以只需直接将变量赋值给变量。 您无法在javascript中创建“常量”,因此您需要确保不更改它们。然而,你可以简单地写

firstThing = 0x0001;

它将像C++示例那样工作,即第一个事物的值为1。

< P>查看


没有任何常量,但约定可以帮助您。

var FIRST\u THING=0x000001;WorkFiess在C++项目和JavaScript项目之间没有什么相似之处。永远,是的。你说想分手,但什么事?举个例子好吗?给事情下个定义,因为,好吧,它们没有。为了不让OP失望,我们投票了。这显然是一个初学者,她感到困惑,这个问题对我们大多数人来说可能微不足道,但我们都从某个地方开始。我意识到这有点不清楚,但她又一次感到困惑。它们在文本上根本没有被替换。十六进制和十进制在两种语言中都是整型文字的有效格式。@LightnessRacesinOrbit:Eh?我指的是定义和预处理器正在做什么。也许我不够清楚。哦,对不起,当然:我认为OP似乎认为十六进制文字本身是一个问题,而且并不真正关心预处理器。@LightnessRacesinOrbit:np,如果它让你困惑,那么它肯定会让OP困惑。我试着澄清一下。我认为问题是两极分化的。到目前为止,答案都集中在如何使用Javascript执行宏上?然而我仍然确信问题是如何在Javascript中使用这些十六进制文字?答案是,呃,写下来。不管怎样,可怜的问题都不清楚!