当前位置: 首页 > 面试题库 >

使用eval()设置全局变量

汪高岑
2023-03-14
问题内容

我使用设置全局变量的代码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>


 类似资料:
  • 我使用的是swing,有一个函数(CreateAndShowGUI())可以监听上、左、右键的按下 现在,当我运行程序并按下任意键(向上、向左、向右、向下)时,我可以看到按下的键变量被设置为True。但当我试图在main中访问相同的内容时,按下的这个键的值为false。谁能帮我找出我错的地方吗?

  • 问题内容: 我试图在量角器上设置一个全局变量,以在所有描述块中使用。 但这返回了以下错误: 我也看了这个问题:量角器angularJS全局变量 所以我试图以这种方式在conf.js中设置变量glob: 仍然有相同的错误。 如何在量角器测试中正确添加全局变量? 问题答案: 可以借助属性从量角器配置文件设置全局变量: 您可以使用规范中访问它。 请参阅参考配置文件。 params对象将直接传递到Prot

  • 本文向大家介绍Python使用自定义全局变量使用eval评估表达式,包括了Python使用自定义全局变量使用eval评估表达式的使用技巧和注意事项,需要的朋友参考一下 示例 此外,此代码不能偶然引用外部定义的名称: defaultdict例如,使用可以将未定义的变量设置为零:            

  • 主要用于设置三级权限以及密码策略等。 该功能用于设置是否启用三级权限以及密码策略相关配置。参数设置完成后,需要5分钟后生效。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “系统配置/全局设置/全局设置” 菜单项,进入全局设置页面。 目前全局设置支持设置以下选项: 配额检查开关:设置是否启用配额检查,默认关闭配额检查。如用户有配额限制的要求,可以开启配额检查,开启后,用户可以在域或

  • 目前仅支持字典设置和全局设置,参数配置后全局生效。 字典设置 用于自定义云管平台中常用菜单的显示名称。 全局设置 主要用于设置三级权限以及密码策略等。

  • 1)加密设置 加密设置分为,PC加密设置和移动加密设置。 PC加密设置: 当PC加密为“打开”状态时,新上传的视频会进行加密(加密视频只能使用获得场景视频播放器),已上传的视频保持不变。 当PC加密为“关闭”状态时,新上传的视频不会进行加密,已上传的视频保持不变。 移动加密设置: 非加密——当设置成【非加密】时,移动端将不受限制,此时不受保护。 WEB授权——可以在移动WEB端播放和APP端播放,