を使用してグローバル変数を設定するコードevalが機能しません。割り当てがまったく呼び出されていないかのようですが、スクリプト エラーは発生しません。
<script type="text/javascript">
    $(function() {
        setTimeout(function() {
            eval('var x = 1;');
            alert(x);
        }, 0);
    });
</script>
<div onclick="alert(x);">Click to see 'x'</div>
ページが読み込まれると、アラートが期待どおりに表示されます。x = 1 であることを確認します。しかし、その後、div をクリックすると、x未定義の JavaScript エラーが発生します。evalこの変数を適切に追加するにはどうすればよいですか?
背景: 上記のコードは、AJAX 応答中に JavaScript コードを実行する必要がある、私が取り組んでいるプロジェクトからの最小限の再現例です。evalほとんどの場合、正常に動作しますが、これが問題を引き起こしています。