Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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
Javascript中的双点运算符(..)是什么?_Javascript_Operator Keyword - Fatal编程技术网

Javascript中的双点运算符(..)是什么?

Javascript中的双点运算符(..)是什么?,javascript,operator-keyword,Javascript,Operator Keyword,我正在使用Spidermonkey中的解析器API进行一些工作。显示有一个二进制运算符。。有人知道这是什么吗?我很想知道。我以前从未见过它。如果我被迫猜测,我不得不说这是E4X的问题,但那只是因为我对E4X一无所知。它确实是E4X。它的作用与单点运算符相同,后者选择子对象,但选择所有子对象。(类似于XPath的/操作符选择与选择器匹配的元素的子元素,以及/选择与选择器匹配的所有子元素。)它是一个E4X操作符 发件人: 而。运算符访问给定节点的直接子级,即。。运算符访问所有子项,无论嵌套有多深:

我正在使用Spidermonkey中的解析器API进行一些工作。显示有一个二进制运算符
。有人知道这是什么吗?我很想知道。我以前从未见过它。如果我被迫猜测,我不得不说这是E4X的问题,但那只是因为我对E4X一无所知。

它确实是E4X。它的作用与单点运算符相同,后者选择子对象,但选择所有子对象。(类似于XPath的
/
操作符选择与选择器匹配的元素的子元素,以及
/
选择与选择器匹配的所有子元素。)

它是一个E4X操作符

发件人:

而。运算符访问给定节点的直接子级,即。。运算符访问所有子项,无论嵌套有多深:


不要与小数点和圆点混淆:

var val= 1000..toExponential()
比如:

255..toString(16);

第一个点实际上是一个小数点,只需让JavaScript编译器知道第二个点想要调用属性或方法。toString(16)使JavaScript编译器感到困惑(标识符紧跟在十进制数字文字之后启动)。

有一个名为“dot-dot”的标记?太棒了。:)@RPM1984:现在是mattbasta创建的。编辑:并且它没有持续很长时间。在链接文档的节下面有两行,其中。。上面写着“注意:..操作符是E4X特定的。”这让我困惑了一段时间——它似乎与
(1000).method()具有相同的效果,所以我认为它是一个特殊的操作符。我没有想到小数点。美好的提示:
运算符的优先级高于一元
-
或一元
+
,后者将其操作数转换为
数字
typeof(-255..toString())
'number'
。也就是说,它被解析为
typeof(-(255..toString())
,实际上是
typeof(-(Number(255.toString())))