Usando eval () para definir variáveis ​​globais

Meu código para definir uma variável global usandoeval não está funcionando. É como se a atribuição não fosse chamada, mas não ocorreram erros de script.

<script type="text/javascript">

    $(function() {

        setTimeout(function() {
            eval('var x = 1;');
            alert(x);
        }, 0);
    });
</script>

<div onclick="alert(x);">Click to see 'x'</div>

Quando a página é carregada, o alerta mostra o que eu esperava; isso confirma que x = 1. Mas depois disso, eu clico no div e recebo um erro de javascript quex é indefinido. Como eu façoeval adicionar esta variável corretamente?

Background: O código acima é um exemplo de reprodução mínima de um projeto em que estou trabalhando, onde devemos executar o código javascript durante as respostas AJAX.eval funciona corretamente na maioria das vezes, mas isso está causando problemas.

questionAnswers(3)

yourAnswerToTheQuestion