Javascript“eval”是同步还是异步?

2024-01-01

考虑以下代码:

eval(".....;a=5;b=10;");
eval("a+b");

如果这里第一个 eval 运行很长时间,我的下一个 eval 是否会返回一个错误,指出 a 和 b 未定义,因为 a 和 b 值在第一个 eval 结束时初始化。 eval方法是同步运行还是异步运行


eval本质上是同步的。但是里面的求值/表达式eval可能有异步代码,例如setTimeout or setInterval.

举个例子。

Method 1:(同步示例)

eval('var a=5, b=10;');
eval('console.log(a+b)');

Method 2:(异步示例)

eval('setInterval(function(){window["a"]=5, window["b"]=10;}, 1000)');
eval('console.log(typeof a)');

Note: 总之不建议使用eval如中提到的https://stackoverflow.com/a/86580/7055233 https://stackoverflow.com/a/86580/7055233

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript“eval”是同步还是异步? 的相关文章

  • 如何保存 Tensorflow.js 模型?

    我想制作一个创建 保存和训练 tensorflow js 模型的用户界面 但我无法在创建模型后保存模型 我什至从tensorflow js文档复制了这段代码 但它不起作用 const model tf sequential layers t
  • Javascript 当我们在 Chrome 中选择“停留在页面上”时如何调用函数

    请在 Chrome 浏览器中检查我的代码 如果您点击刷新 系统会提示您 2 个选项 离开此页面并 保持此页上 当我点击2 停留在此页面按钮它必须激活我的自定义功能显示消息 任何人都可以为我提供解决方案吗
  • PHP 中的 JS charCodeAt 等效项(具有完整的 unicode 和 emoji 兼容性)

    我在 JS 中有一个简单的代码 如果涉及特殊字符 我无法在 PHP 中复制它 这是 JS 代码 参见JSFiddle https jsfiddle net h8oca3qg 5 用于输出 var str t char t and speci
  • 带有 nextjs 的 Material-ui 选项卡?

    我有一个 Material ui nextjs 和 typescript 项目 我正在尝试让我的导航栏与 nextjs 一起使用 import as React from react import AppBar from material
  • 获取语​​音通道的用户数

    我正在重写我的音乐部分朋友不和谐机器人 https top gg bot 629799045954797609 我试图弄清楚如何获取执行命令的人的语音通道中的用户数量 我到处都找过 但似乎找不到它或它的用法 现在我正在使用以下内容 modu
  • 粘性页脚不粘在 AngularJS 中

    Im working an angular site and im trying to implement a sticky footer across all views but the footer stops sticking whe
  • 尽管我正在更改状态,但 React ui 没有更新

    import React useState from react const App gt const anecdotes If it hurts do it more often Adding manpower to a late sof
  • 如何在D3节点中放置图像?

    到目前为止 我已经创建了这些 D3 节点 用于创建可折叠的层次树 到目前为止 这些节点的颜色为 AA1C1C 深红色 以表明如果您单击它们 它们将扩展到更多节点 我想要做的是在节点中使用图像中的位置 这对于所有用户来说都是一个加号 以知道它
  • 仅当 url 以 www 为前缀时才会发生 CORS 错误

    我目前遇到一个关于 CORS 跨源资源共享 的问题 奇怪的是 只有当我使用 www url 前缀时 才会出现这种情况 例如 当我使用以下网址访问我的网站时 http example com index http example com in
  • 在 Cytoscape.js 中为家谱设置边缘样式

    我有一个使用 Django 的家谱应用程序 我正在尝试使用http js cytoscape org http js cytoscape org对于用户界面 我想设置之间的边缘样式浪漫的伴侣像这样 http www eprintableca
  • 在 forEach() 中使用 `this` [重复]

    这个问题在这里已经有答案了 免责声明 我正在学习 JavaScript 我有一个像这样的对象构造函数 var Palette function this colors red green blue this getColorCombinat
  • 将 JSON 字符串传递给 Django 模板

    我一直在用头撞墙 试图找出为什么我无法将从 Django 模型生成的 JSON 字符串传递到模板的 javascript 静态文件中 事实证明 问题不在模型级别 使用serializers serialize 在脚本本身中放入相同的字符串将
  • d3 序数尺度的映射

    我正在使用 D3 的序数比例将数字映射到颜色 我用过这个 color d3 scale ordinal range 1f77b4 ff7f0e 2ca02c d62728 9467bd 8c564b e377c2 domain 0 6 co
  • 使用Doctype让scrollTop返回0,为什么?

    当我将此 Doctype 放入我的文档中时document body scrollTop返回零 这是为什么 当您使用该 Doctype 时 您会将每个当前浏览器放入所谓的几乎标准模式 http hsivonen iki fi doctype
  • 需要将焦点放在react中的div上

    我有一个之前用 H1 标签包裹的文本 页面加载后 我需要专注于该文本 为了方便起见 我将它包装在 div 中 render const translate billing primaryContactSelection true this
  • 掩码输入数字 - 百分比

    如何通过 jQuery 创建具有百分比的数字掩码输入 我是否让输入仅接受三个数字 并在用户完成输入时在数字后添加百分号 keyup 我不使用插件 例子 1 Or 30 Or 99 Or 100 Or 200
  • 在 Mobile Safari 中点击

    敲击
  • 如何选中表格中输入文本焦点上的复选框

    我试图在输入文本焦点上检查表 DOM 中的复选框 但无法访问复选框元素 但我的焦点正在工作 这是我的 jsfiddle 链接https jsfiddle net 9qha9vft https jsfiddle net 9qha9vft 这是
  • 获取css规则、chrome扩展

    我正在开发 Chrome 扩展程序 它需要访问document styleSheets cssRules 它在某些网站上运行良好 例如w3school 但其他人则不然 比如堆栈溢出 我收到错误 Failed to read the cssR
  • 使用 Javascript 删除字符串的最后一个字符

    我有一个DIV与一些字符 如何在每次单击时删除文本中的最后一个字符DIV itself 删除第一个字符 div on click function this text function index text return text repl

随机推荐

  • LNK1169 找到一个或多个多重定义的符号。我知道这可以被认为是重复的,但我找不到任何可以解决我的问题的东西[重复]

    这个问题在这里已经有答案了 我有一个老师需要的头文件 我正在使用全局变量 因此我可以将值从一个函数移动到另一个函数 查了一下问题 有人建议使用命名空间 那没有用 此外 我像其他人推荐的那样添加了一些守卫 但这也没有帮助 我有多个文件和标头中
  • IE8 标准不支持 array.map 函数?

    我没有 IE8 所以我正在从 IE10 中测试 IE8 当我切换到文档模式的 IE8 标准 时 数组对象的 javascript 映射函数给出 javascript 错误 对象不支持属性或方法 映射 但是当我切换到文档模式的 标准 时 没有
  • Java中的命令行查询

    我正在访问 MongoDB 并且希望在 Java 中重用典型的命令行查询 我知道可以使用 BasicDBObject 但我想使用如下命令行查询 db MyCollection find 我现在尝试使用数据库的 command 方法 Mong
  • 如何在新闻通讯中创建悬停效果?

    我正在创建一份时事通讯 并且我希望面板可以在鼠标悬停时更改背景颜色 鉴于时事通讯不会有标题 我正在内联定义所有样式 我很确定大多数流行的邮件客户端都会阻止 JS 所以我想知道是否可以在 style 属性中定义悬停效果 或者有没有其他方案可以
  • sed - 删除破折号之前的所有字符

    我有一个文件名列表 我想删除第一个实例之前的所有字符 因此 之前 列表中的以下名称将显示为 之后 列表中的名称 Before Adam James Welcome Home txt Mike Harry One Upon A Time tx
  • 将彩虹颜色映射到 RGB

    假设我有一个带构造函数的 RainbowColorsMapper 类RainbowColorsMapper int n 其中 n gt 2 现在我想要使用该方法获得从红色到紫色的彩虹颜色的连续映射mapper getColor int nu
  • C# 泛型及其具体实现

    是否可以在 C 中创建泛型方法并为给定类型添加具体实现 例如 void Foo
  • Ruby gem 是否存在像木马一样的风险?

    我正要安装一个我没听说过的人的 Ruby gem 但有些事情让我想到 这个人是谁 由于 gem 系统可以访问互联网 因此 Ruby gem 是否存在访问您计算机上的私有数据并将其传输到其他地方的风险 或者有针对这种情况的保护措施吗 当然有
  • 使用 cout 语句执行 while 循环

    所以我有一个关于do while环形 我正在学习 C 我知道你可以写这样的东西 do while a lt 10 cout lt lt message 关键是 我知道这在 C 中是可能的 但我们真的这样做了吗 我的意思是 cout thin
  • 如何解决 SQL0418N 错误

    我正在使用下面的语句来更新 插入一些数据到表中 如果我不带参数运行它 那就没问题 但是 一旦我尝试使用它抛出的参数执行它 SQL0418N 语句包含使用非类型化参数标记 DEFAULT 关键字或无效的空值 我已阅读错误信息here http
  • WebDeploy API (IIS 7) - “公共 API”:资源?

    有人知道 WebDeploy API 的任何资源吗 有人用过吗 我尝试在官方论坛上询问 并浏览了该网站 该网站说有 公共 API 但没有链接 文章 资源 博客文章或示例 http forums iis net t 1180561 aspx
  • 单击事件不适用于动态添加的 Li->span->id

    单击事件不适用于动态添加的 Li gt span gt id case 101 strLink li a span Form 101 span a li sidebar nav append strLink break sidebar na
  • 如何将文件夹标记为包?

    我曾经认为文件夹需要有扩展名 以便 Finder 将它们识别为包 该扩展将在所属应用程序的 Info plist 中声明 显然还有另一种更优雅的方式 但我不知道它是如何完成的 例如 iPhoto 图库被 Finder 视为一个包 但它没有扩
  • 为什么更喜欢属性而不是公共变量? [复制]

    这个问题在这里已经有答案了 其他能够对 setter 中的值进行健全性检查是否有更根本的原因来选择属性而不是公共变量 我们以前有过这个主题 但现在找不到任何内容 简而言之 您的需求可能会发生变化 如果现在没有健全性检查 将来可能需要进行健全
  • byte[] 数组的长度

    String str 123456789 byte bytes str getBytes 我想进行以下循环 for int j 0 j lt bytes length j b bytes j b将存储数组的每个字节 但我似乎无法正确获取数组
  • GCE 上没有名为“google.cloud._helpers”的模块

    我在导入时遇到错误google cloud bigquery在普通教育考试上 它不会发生在非 GCE 的环境中 我执行了更新pip 你知道为什么吗 user1 sv1 python Python 3 6 0 Continuum Analyt
  • 如何获取 Ruby on Rails 生成的表单元素 id 以供 JavaScript 中参考?

    当使用form for助手和一个text field调用时 Ruby on Rails 会生成一个唯一的 id
  • eslint 解析错误:意外的标记 =

    为什么 eslint 会抛出这个错误 Javascript 在 React Native 中运行没有问题 该代码取自react navigation 示例 https reactnavigation org docs intro https
  • Qt foreach 中的第二项是否只计算一次?

    如果我有这个代码 foreach QListWidgetItem ii selectedItems urls push back ii gt data Qt ToolTip toString Would selectedItems 只被调用
  • Javascript“eval”是同步还是异步?

    考虑以下代码 eval a 5 b 10 eval a b 如果这里第一个 eval 运行很长时间 我的下一个 eval 是否会返回一个错误 指出 a 和 b 未定义 因为 a 和 b 值在第一个 eval 结束时初始化 eval方法是同步