Просто помните, если вы создаете функцию ниже, используя ajax ...
function foo()
{
console.log('foo');
}
... и выполняйте ее через eval, вы, вероятно, столкнетесь с проблемой контекста. Возьмите это как функцию обратного вызова:
function callback(result)
{
responseDiv = document.getElementById('responseDiv');
responseDiv.innerHTML = result;
scripts = responseDiv.getElementsByTagName('script');
eval(scripts[0]);
}
Вы будете объявлять функцию внутри функции, поэтому эта новая функция будет доступна только в этой области.
Если вы хотите чтобы создать глобальную функцию в этом сценарии, вы можете объявить ее следующим образом:
window.foo = function ()
{
console.log('foo');
};
Но я также думаю, что вы не должны этого делать ...
Извините за любая ошибка здесь ...