Знак перед квадратными скобками
В настоящее время я поддерживаю некоторый код 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;