Знак перед квадратными скобками

В настоящее время я поддерживаю некоторый код DS/JS в Demandware, и я только что обнаружил, что:

var XmlReponse : XML = new XML(result.object.text);
status = XmlReponse.@["STATUS"];

Что делает этот необычный синтаксис "@[...]"?

Это может быть как-то связано со спецификацией ECMA-357 (также называемой "E4X"), но я не уверен: в документах DW (требуются учетные данные) сказано:

"Вы можете читать значения из объекта XML так же, как из стандартных объектов ECMAScript"

var quantity = order.item(0).@quantity;
var singleItem = order.item.(@quantity == 1);

Это, кажется, объясняет @ но позвольте мне скептически отнестись к следующим квадратным скобкам, может быть, какое-то динамическое свойство?

Спасибо:)

1 ответ

Решение

Из чтения руководства ex4 кажется, что он прочитал свойство элемента xml. Я не вижу, что чтение индексатора будет по-другому

Ваш упомянутый код будет читать атрибут STATUS на xmlresponse

Код на связанном ex4 ручном статусе:

E4X позволяет получить доступ к атрибутам определенного элемента с помощью оператора.@. Самый простой случай будет выглядеть примерно так.

var element = <foo bar="1"/>
element.@bar = 2;
Другие вопросы по тегам