Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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 ECMA-262和ECMA-357之间有语法上的差异吗?_Javascript_Parsing_E4x_Ecma262 - Fatal编程技术网

Javascript ECMA-262和ECMA-357之间有语法上的差异吗?

Javascript ECMA-262和ECMA-357之间有语法上的差异吗?,javascript,parsing,e4x,ecma262,Javascript,Parsing,E4x,Ecma262,我正在编写一个基于的JavaScript解析器。我想知道我需要改变多少才能使它兼容 有语法上的差异吗?有许多语法扩展。最重要的是XML文本(参见第11.1.4节和第11.1.5节): 最后,还有每个的。。在类似于..的循环中。。在中(参见第12.3节): 据我所知,这些都是语法上的差异——但你可能已经有了足够多的差异。可能值得注意的是,就浏览器而言,E4X只受Firefox支持,在Firefox中不受欢迎。在这一点上看起来像是死了的技术。@Daskwuff:哎哟。。。在你说我发现-看起来它确实被

我正在编写一个基于的JavaScript解析器。我想知道我需要改变多少才能使它兼容


有语法上的差异吗?

有许多语法扩展。最重要的是XML文本(参见第11.1.4节和第11.1.5节):

最后,还有每个的
。。在类似于..的
循环中。。在
中(参见第12.3节):


据我所知,这些都是语法上的差异——但你可能已经有了足够多的差异。

可能值得注意的是,就浏览器而言,E4X只受Firefox支持,在Firefox中不受欢迎。在这一点上看起来像是死了的技术。@Daskwuff:哎哟。。。在你说我发现-看起来它确实被悄悄地弃用了。我想这只是因为7年内没有其他浏览器供应商实现了它。这是真的吗?这看起来很糟糕:-/@copy:如果您必须处理XML数据,那么这比通常的DOM调用要好得多(例如:更干净、更易于阅读),在获取感兴趣的树部分时,常常与循环结合使用。这里的例子仅仅说明了在语法上可能发生的事情,而不是在实际代码中可能发生的事情。
var foo = <xml>
  foo
</xml>;
var bar = <>
  <tag attr={(1+2).toFixed(2)}/>
  {foo}
</>;
xml.@attr           // get attribute attr
xml.*               // get all child elements
xml.@*              // get all attributes
xml..foo            // get all <foo> tags
xml..foo.(@id == 1) // filter <foo> tags by id attribute
xml.soap::foo       // get <foo> child tags with namespace soap
xml.@soap::attr     // get attribute with namespace soap
default xml namespace = new Namespace("http://foo/bar");
for each (var foo in xml)
{

}