我目前正在Demandware中维护一些DS/JS代码,我刚刚发现:
var XmlReponse : XML = new XML(result.object.text);
status = XmlReponse.@["STATUS"];
这种不寻常的"@[...]"语法有什么作用?
它可能与ECMA-357规范(又名" E4X"(有关,但我不确定:在DW文档(需要凭据(中,据说:
"你可以像从标准 ECMAScript 对象中一样从 XML 对象中读取值">
var quantity = order.item(0).@quantity;
var singleItem = order.item.(@quantity == 1);
这似乎解释了@
,但让我对以下方括号持怀疑态度,也许是某种动态属性?
谢谢:)
通过阅读ex4手册,它似乎读取了xml元素的属性。我不认为阅读索引器会有什么不同
然后,您提到的代码将读取 xmlresponse 上的属性STATUS
链接的 ex4 手册状态上的代码:
E4X 允许您使用 .@ 运算符访问特定元素的属性。最基本的情况看起来像这样。
var element = <foo bar="1"/>
element.@bar = 2;