0x000000作为JavaScript中的值在语法上如何有效?
我正在学习THREE.js,当指定对象的颜色时,您将使用末尾带有十六进制值的0x000000作为JavaScript中的值在语法上如何有效?,javascript,syntax,three.js,Javascript,Syntax,Three.js,我正在学习THREE.js,当指定对象的颜色时,您将使用末尾带有十六进制值的0x。这是什么意思 它们是有效的变量名吗 它们是如何工作的 我认为以数字开头的东西不能是变量?是的,可以对值文本使用十六进制表示。 发件人: 十六进制 十六进制数字语法使用前导零后跟小写或大写拉丁字母“X”(0x或0x)。如果0x后面的数字超出范围(0123456789ABCDEF),将抛出以下SyntaxError:“标识符在数值文本之后立即开始” 您也可以在这里找到语法: (有趣的是,这里不包括八进制文字,因为它们没
0x
。这是什么意思
它们是有效的变量名吗
它们是如何工作的
我认为以数字开头的东西不能是变量?是的,可以对值文本使用十六进制表示。 发件人: 十六进制 十六进制数字语法使用前导零后跟小写或大写拉丁字母“X”(0x或0x)。如果0x后面的数字超出范围(0123456789ABCDEF),将抛出以下SyntaxError:“标识符在数值文本之后立即开始” 您也可以在这里找到语法:
(有趣的是,这里不包括八进制文字,因为它们没有在中使用。语法在下指定) 它们是有效的变量名吗 否。它们是整数(数字)文本。您可以编写
0
,而不是0x000000
,您可以编写16
,每种颜色都是一个值(不是变量),因此:
黑色为0,以十六进制形式表示为0x000000
结尾带有十六进制值的0x。这是什么意思
这意味着他们是
它们是有效的变量名吗
哪一个?如果你说的是0X,那么它们是十六进制的,否则请指定这是javascript从C甚至更早版本继承的东西 普通数字十进制常量如下所示:
x = 42
回到过去(甚至现在在某些情况下),能够以八进制形式指定常量是很有用的;额外的前导0表示:
x = 052 /* 42 */
当十六进制常量开始成为一个有用的东西时,它们被固定为具有前导0x(这在以前可能是一个语法错误):
较新版本的javascript现在支持二进制常量(0b)和更显式的八进制常量(0o):
这些表单都不是有效的变量名。是否确实将其用作变量?看起来更像一个文本值(如
123
或“foo”
),可以分配给变量。标题是“作为值有效”,但问题正文是“有效变量名”。它是哪一个?问题的标题问它作为一个值是否有效,答案是肯定的,但是你问它们在问题的主体中作为变量名是否有效,答案是否定的。变量和值是非常非常不同的。
x = 052 /* 42 */
x = 0x2a /* 42 */
x = 0b101010 /* 42 */
x = 0o52 /* 42 */