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

Javascript切换与if ... else if ... else

杜经艺
2023-03-14
问题内容

伙计们,我有几个问题:

  1. switch语句和an 之间在JavaScript中是否存在性能差异if...else
  2. 如果可以,为什么?
  3. 是的行为switchif...else跨浏览器的不同?(FireFox,IE,Chrome,Opera,Safari)

提出这个问题的原因是,switch在Firefox中大约有1000多个案例的情况下,我似乎获得了更好的性能。

编辑
Unfortuantly这不是我的代码JavaScript是正在生产服务器端从编译的库,我要的代码的访问权限。产生javascript的方法称为

CreateConditionals(string name, string arrayofvalues, string arrayofActions)

note arrayofvalues是用逗号分隔的列表。

它产生的是

function [name] (value) {
  if (value == [value from array index x]) {
     [action from array index x]
  }
}

注意:其中[name]=传递给服务器端函数的名称

现在,我更改了要插入TextArea的函数的输出,编写了一些JavaScript代码以解析该函数​​,然后将其转换为一组case语句。

最后,我运行了该函数,并且运行良好,但是在IE和Firefox中性能有所不同。


问题答案:

一般回答:

  1. 是的,通常。
  2. 在这里查看更多信息
  3. 是的,因为每个人都有不同的JS处理引擎,但是,在下面的站点上运行测试时,开关总是在大量迭代中执行if,elseif。


 类似资料:
  • 问题内容: 我有这个结构: 我想以相关方式显示我的段落。 我发现的唯一解决方案是基于专用功能,例如在Go和nested中进行测试: 实际上,我有更多的类型,这使它变得更加奇怪,使带有功能的Go代码和具有这些功能的模板都变得混乱。 什么是干净的解决方案?有一些或解决方案中去的模板?还是完全不同的方式来处理这些案件? 问题答案: 模板是无逻辑的。他们不应该具有这种逻辑。您可以拥有的最大逻辑是一堆。 在

  • if statements in Smarty have much the same flexibility as php if statements, with a few added features for the . Everyif must be paired with an/if .else andelseif are also permitted. "eq", "ne","neq",

  • 概要 <#if condition> ... <#elseif condition2> ... <#elseif condition3> ... ... <#else> ... </#if> 这里: condition, condition2, 等:将被计算成布尔值的表达式。 elseif 和 else 是可选的。 描述 你可以使用 if, elseif 和 else 指令来条

  • 一个If语句后面跟着一个或多个ElseIf语句,这些语句由布尔表达式组成,然后是一个默认的else语句,当所有条件都变为false时执行。 语法 (Syntax) 以下是VBScript中If Elseif - Else语句的语法。 If(boolean_expression) Then Statement 1 ..... ..... Statement n ElseIf

  • if语句后面可以跟一个else if...else语句,这对于使用单个if...else if语句测试各种条件非常有用。 语法 (Syntax) if...else if...else语句的语法如下 - if boolean_expression_1 { /* Executes when the boolean expression 1 is true */ } else if boolea

  • if语句后面可以跟一个else if...else语句,这对于使用单个if...else if语句测试各种条件非常有用。 语法 (Syntax) if...else if...else语句的语法如下 - if boolean_expression_1 { /* Executes when the boolean expression 1 is true */ } else if boolea