日期:2014-05-16  浏览次数:20365 次

JS还能这么用。。
本人刚从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

------解决方案--------------------
只是一个模板。
浏览器是不认识这些标签的
------解决方案--------------------
这不是webservices的soap信封吗

一个普通的xml字符串啊,没啥特别的
------解决方案--------------------
这个还要看浏览器怎么解析了。。。
------解决方案--------------------
不是js,只是一串字符串而已,给js处理用的吧。。
------解决方案--------------------
你确定你的代码正确?
而不是这么写的:var request = "<soap:........";

{celsiusTemp}  占位符,解析模板的代码会将这玩意替换成实际的值。
------解决方案--------------------
连引号都没有?代码错了
------解决方案--------------------
引用:
本人刚从java转过来,对JS还不太了解,现在看到这样的代码
var request = <soap:Envelope……

--------------------
如果,你肯定你的代码确实在 = 后面没有引号,那你读到的代码一定是 E4X.
那样的话,因为是E4X, 所以没有引号不是错。你的代码完全正确!
ECMAScript for XML(E4X)是一种扩展了 JavaScript的程式語言,它增加对 XML 的内在支持。
在 E4X 里,你可以直接用不带引号的 XML 表达式,就像在你给出的代码的例子。Runtime 就会生成
对应的 XML object, 然后赋予变量 request. 

执行 E4X, 需要用支持 E4X 的扩展了的 JavaScript引擎。支持 E4X 的浏览器不多。Gecko 系的引擎支持。
但是 Firefox 原来支持的,现在又不支持了。






------解决方案--------------------
只是tld文件的一个引用 
------解决方案--------------------
我也感觉 只是一个字符串吧,JS里面可能有用到
------解决方案--------------------
lz你确认源代码就是这样的么?