使用eval()设置全局变量
我使用设置全局变量的代码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
大多数时候都能正常工作,但这会引起问题。
回答:
Eval在本地运行,您正在设置本地变量。
要设置全局变量,请删除var
;
<script type="text/javascript"> $(function() {
setTimeout(function() {
eval('x = 1;');
alert(x);
}, 0);
});
</script>
以上是 使用eval()设置全局变量 的全部内容, 来源链接: utcz.com/qa/407221.html