问题
下面的代码,是正确的 JavaScript 吗?
1
2
3
4
5
6
7
8
9
10
11
|
var
request =
<soap:Envelope xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd=
"http://www.w3.org/2001/XMLSchema"
xmlns:soap=
"http://schemas.xmlsoap.org/soap/envelope/"
>
<soap:Body>
<CelsiusToFahrenheit xmlns=
"http://tempuri.org/"
>
<Celsius>{celsiusTemp}</Celsius>
</CelsiusToFahrenheit>
</soap:Body>
</soap:Envelope>;
.......;
request.toString();
|
讨论:许多人认为 "var request=" 后面没有引号,所以是错误的。
答复
这是E4X代码, 所以 "var request=" 后面没有引号也不是错。代码完全正确!
ECMAScript for XML(E4X)是一种扩展了 JavaScript的程式語言,它增加对 XML 的内在支持。
在 E4X 里,你可以直接用不带引号的 XML 表达式,就像在你给出的代码的例子。Runtime 就会生成
对应的 XML object, 然后赋予变量 request.
执行 E4X, 需要用支持 E4X 的扩展了的 JavaScript引擎。支持 E4X 的浏览器不多。Gecko 系的引擎支持。
但是 Firefox 原来支持的,现在又不支持了。
连接
原贴:http://bbs.csdn.net/topics/390395628