本人刚从java转过来,对JS还不太了解,现在看到这样的代码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();
其中celsiusTemp是函数的一个参数,我想问的是JS可以随便赋值一个东西,即使这个并不是一个字符串?还有celsiusTemp被大括号包围是什么语法?之前没见过这么用大括号的。请各位帮忙一下javascript
<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();
其中celsiusTemp是函数的一个参数,我想问的是JS可以随便赋值一个东西,即使这个并不是一个字符串?还有celsiusTemp被大括号包围是什么语法?之前没见过这么用大括号的。请各位帮忙一下javascript
那soap中的{celsiusTemp}这种是JS的什么语法,没见过这种形式的,还请大神解惑
而不是这么写的:var request = "<soap:........";{celsiusTemp} 占位符,解析模板的代码会将这玩意替换成实际的值。
如果,你肯定你的代码确实在 = 后面没有引号,那你读到的代码一定是 E4X.
那样的话,因为是E4X, 所以没有引号不是错。你的代码完全正确!
ECMAScript for XML(E4X)是一种扩展了 JavaScript的程式語言,它增加对 XML 的内在支持。
在 E4X 里,你可以直接用不带引号的 XML 表达式,就像在你给出的代码的例子。Runtime 就会生成
对应的 XML object, 然后赋予变量 request. 执行 E4X, 需要用支持 E4X 的扩展了的 JavaScript引擎。支持 E4X 的浏览器不多。Gecko 系的引擎支持。
但是 Firefox 原来支持的,现在又不支持了。