3

我目前在 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);

这似乎可以解释,@但让我对以下方括号持怀疑态度,也许是某种动态属性?

谢谢 :)

4

1 回答 1

2

通过阅读 手册,它似乎阅读了 xml 元素的属性。我看不出读取索引器会有什么不同

然后,您提到的代码将读取STATUSxmlresponse 上的属性

链接的 ex4 手动状态上的代码:

E4X 允许您使用 .@ 运算符访问特定元素的属性。最基本的情况看起来像。

var element = <foo bar="1"/>
element.@bar = 2;
于 2017-08-11T08:50:29.177 回答