本人刚从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

解决方案 »

  1.   

    这不是webservices的soap信封吗一个普通的xml字符串啊,没啥特别的
      

  2.   

    是说只要游览器不认识,就会当成字符串是吗。
    那soap中的{celsiusTemp}这种是JS的什么语法,没见过这种形式的,还请大神解惑
      

  3.   

    不是js,只是一串字符串而已,给js处理用的吧。。
      

  4.   

    你确定你的代码正确?
    而不是这么写的:var request = "<soap:........";{celsiusTemp}  占位符,解析模板的代码会将这玩意替换成实际的值。
      

  5.   

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

  6.   

    jswatcher兄的答案让我豁然开朗,上面的代码不是跑在游览器中的,而是跑在服务器端的,估计服务端有E4X的支持,我说怪不得这JS看起来这么奇怪。谢谢大家的热情回答~