Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript:if情况下的主要减速_Javascript - Fatal编程技术网

javascript:if情况下的主要减速

javascript:if情况下的主要减速,javascript,Javascript,我有一个生成表的非常简单的代码 然而,当我添加3条if线时,速度变得非常慢。 有人知道为什么吗 代码: 侵权线路: if (j<3){var vval = 10000}; if (j=3){var vval = 5000}; if (j>4){var vval = 2500}; 如果我删除侵权线路,效果很好。 发生了什么事?您当前遇到的两个问题: if (j<3){var vval = 10000}; if (j=3){var vval = 5000}; if (

我有一个生成表的非常简单的代码

然而,当我添加3条if线时,速度变得非常慢。 有人知道为什么吗

代码:

侵权线路:

  if (j<3){var vval = 10000};
  if (j=3){var vval = 5000};
  if (j>4){var vval = 2500};
如果我删除侵权线路,效果很好。
发生了什么事?

您当前遇到的两个问题:

if (j<3){var vval = 10000};
if (j=3){var vval = 5000};
if (j>4){var vval = 2500};
这就是应用程序速度变慢的原因,因为for循环被卡在循环中,因为在某个点j始终等于3之后

其次,您应该使用else-if,否则即使第一个if语句满足要求,也会检查所有三个if语句:

if (j < 3) { var vval = 10000 }
else if (j === 3) { var vval = 5000 }
else if (j > 4) { var vval = 2500 }

还请注意,在if语句的花括号后加分号是不必要的,因此我也删除了这些分号。

您当前遇到的两个问题:

if (j<3){var vval = 10000};
if (j=3){var vval = 5000};
if (j>4){var vval = 2500};
这就是应用程序速度变慢的原因,因为for循环被卡在循环中,因为在某个点j始终等于3之后

其次,您应该使用else-if,否则即使第一个if语句满足要求,也会检查所有三个if语句:

if (j < 3) { var vval = 10000 }
else if (j === 3) { var vval = 5000 }
else if (j > 4) { var vval = 2500 }

还请注意,在if语句的花括号后加分号是不必要的,因此我也删除了这些分号。

原因是在循环中,您一直在设置j=3。我很惊讶这并没有使浏览器完全崩溃


使用相等运算符==或严格相等运算符==

原因是在循环中,您将j=3设置为永久值。我很惊讶这并没有使浏览器完全崩溃


使用相等运算符==或严格相等运算符==/p>j=3应该是j==3或j==3。对于初学者,您应该使用else if。您还可以删除其中一个if语句,并在For循环开始时声明var vval=10000。然后只使用最后两个条件,避免一次检查。如果其他两个条件失败,则默认值必须为10000。j=3应为j==3或j==3。对于初学者,您应该使用else If。您还可以删除其中一个If语句,并在For循环开始时声明var vval=10000。然后只使用最后两个条件,避免一次检查。如果其他两个条件都失败了,那么默认值必须是10000。嘘,新手犯了多大的错误啊!我想我需要休息一下。。。谢谢奖励:目前没有一个国际单项体育联合会与j为4的情况相匹配。最后一个if检查j是否严格大于4,因此值4不起作用。如果j>3{var vval=2500},您可能应该将最后一行更改为else,以涵盖所有情况。是的,在它第一次运行后捕捉到:嘘,犯了一个多么新的错误!我想我需要休息一下。。。谢谢奖励:目前没有一个国际单项体育联合会与j为4的情况相匹配。最后一个if检查j是否严格大于4,因此值4不起作用。如果j>3{var vval=2500},您可能应该将最后一行更改为else,以覆盖所有情况。是的,在它第一次运行后捕获到: