javascript - 是否可以动态重写你的javascript

标签 javascript dynamic if-statement

我想动态编辑 JavaScript 中的 if else 语句。

因此,在使用一个 if 语句后,可以将其删除。我知道这也许是不可能的,但在网上搜索失败后,我的好奇心恳求我去问。

例如:

if (x > 200 && x % 25 === 0) {
  doSomething1();
} else if (x > 300 && !inRange) {
  doSomething2();
} else if (x > 400 && x % 7 === 0) {
  doSomething3();
}

此循环中有八个 if else 语句。循环确定要创建哪个对象。几分钟内创建了 2000 个对象。如果平均而言,我们在第四条语句中断之前到达该语句,那么仅在这一组语句中就会执行 8,000 次计算。

我想简化脚本以提高速度,再次好奇我们是否可以在不使用单独函数的情况下动态编写 JavaScript 等。在 if 语句失败后,通常不再需要它。我想下一个语句可能包含动态删除其前身的代码。这可能会节省 3 或 4000 次计算 - 我知道这不是很大,但鉴于还有很多其他事情正在发生,因此值得考虑。

有没有办法动态删除它们,或者有人有什么技巧或模式吗?

另外,即使这在 js 中不可用,这会被称为什么?

最佳答案

没有。对此的需求表明设计不佳。

正如您提到的,您应该使用条件表达式来确定何时运行哪个代码段。如果您在代码中超过了某个阈值,之后您不再希望在循环中执行某个条件,为什么不简单地打破循环并使用一个新的代码块来处理doSomethingElse 子句。如果您使用 setInterval,那么您将在此时调用 clearInterval,然后在必要时触发一些新操作。无论如何,运行单个(甚至几个)简单的条件语句不会增加太多开销,而且不太可能成为优化的限制因素。

关于javascript - 是否可以动态重写你的javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16290774/

相关文章:

javascript, ajax - 通过 ajax 通过 API 调用更新 HTML 页面

c# - 如何在 C# Windows 窗体中动态填充 Datagridview(运行时)

javascript - 使用 javascript/jQuery 测试数组的函数

javascript - 在没有 SWFObject 的 IE6 中使用 jQuery 嵌入 YouTube 视频

javascript - 使用 Javascript 数组(或对象)的单位转换器

javascript - 动画滚动 100%(水平)?

C中使用switch语句将普通数字转换为罗马数字

javascript - 如何使用ajax将从jquery for循环创建的输入值发送到php

excel - 使用公式在动态变化的范围内返回匹配单元格的值?

python - 一行 if 条件赋值