Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
0x000000作为JavaScript中的值在语法上如何有效?_Javascript_Syntax_Three.js - Fatal编程技术网

0x000000作为JavaScript中的值在语法上如何有效?

0x000000作为JavaScript中的值在语法上如何有效?,javascript,syntax,three.js,Javascript,Syntax,Three.js,我正在学习THREE.js,当指定对象的颜色时,您将使用末尾带有十六进制值的0x。这是什么意思 它们是有效的变量名吗 它们是如何工作的 我认为以数字开头的东西不能是变量?是的,可以对值文本使用十六进制表示。 发件人: 十六进制 十六进制数字语法使用前导零后跟小写或大写拉丁字母“X”(0x或0x)。如果0x后面的数字超出范围(0123456789ABCDEF),将抛出以下SyntaxError:“标识符在数值文本之后立即开始” 您也可以在这里找到语法: (有趣的是,这里不包括八进制文字,因为它们没

我正在学习THREE.js,当指定对象的颜色时,您将使用末尾带有十六进制值的
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 */