Ссылка / ссылка на объект в JavaScript с использованием XML - PullRequest
0 голосов
/ 03 апреля 2012

Возьми xml вот так:

<?xml version="1.0"?>
<events>
    <event>
        <start></start>
        <duration></duration>
        <begin>{somecallback}</begin>
        <complete>{someclass.someproperty = somevalue;}</complete>
    </event>
</events>
  • Мне нужно уметь анализировать xml и выполнять строковые версии кода javascript. Я знаю, что в javascript есть функция eval, но мне нужно знать, может ли eval работать с вышеуказанными begin и complete или есть более простой способ сделать это.

И begin, и complete должны либо напрямую обращаться к обратному вызову (без параметров), либо напрямую устанавливать значение для свойства, принадлежащего классу. Я уверен, что могу eval() обратный вызов, но я не уверен, как действовать непосредственно с установкой значений свойств таким способом.

1 Ответ

2 голосов
/ 03 апреля 2012

eval будет работать с объектами, которые находятся в области видимости, как и ожидалось:

js> var o = {}
js> eval('o.p = 1')
1
js> o.p
1

Вам следует учесть, нужна ли вам гибкость eval для того, что вы делаете.Может ли somecallback быть свойством объекта?Если это так, вы можете позвонить, например, o[fn](), где fn - это somecallback.Это намного безопаснее, чем использовать eval.Ваш раздел <complete> слишком расплывчат для меня, чтобы рекомендовать способ избежать eval во втором случае.

...