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