Я передаю некоторые данные JSON от Smarty.Я применяю это к переменной JavaScript, options
.
Если вы видели мой предыдущий вопрос о форматах дат, вы знаете, что мне нужно немного поработать над поступающими данными, поэтомуУ меня есть функция с именем chart_convert_dates()
, которая вызывается, передавая параметры (ну, options.data
), и по возвращении возвращая ее обратно.
Если вы прочитаете мой код, вы заметитеЯ отлаживаю переменную options, и она меняется от исходной до , когда вызывается функция!?
Если я закомментирую вызов функции, переменная остается неизменной, как и должно бытьв таком случае.
Это происходит с Chrome, FF ... что происходит?
{literal}
<script type="text/javascript">
$(document).ready(function() {
// set JS var, this data is coming in from smarty
var options = {/literal}{$options}{literal};
// these should both be exactly the same
debug.debug({/literal}{$options}{literal});
debug.debug(options);
// but the above outputs aren't the same! options has been modified
// by the function below... that hasn't even fired yet!? We can prove
// this by commenting out the following function call
options.data = chart_convert_dates(options.data);
// ... do something else
});
</script>
{/literal}