在javascript中switch和if哪个执行的更快
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在javascript中switch和if哪个执行的更快相关的知识,希望对你有一定的参考价值。
例如我要选择一些东西。我可以使用
-------------------
if (a==1)
if (a==2)
if (a==4)
……
-------------------
我也可以使用
-------------------
switch(s)
case "1":
case "2":
case "4":
……
-------------------
那么哪个更快?还是都差不多?有没有测试的语句,有谁能帮忙些一个
var t,s0,s1;
t=new Date();
s0=t.getTime();
document.write("Time:<br />");
var a=null;
var x;
var count=400000;
for(var i=0;i<count;i++)
switch(a)
case true:
x=1;
break;
case false:
x=1;
break;
default:
x=1;
t=new Date();
s1=t.getTime();
document.write("switch: "+(s1-s0)+" ms");
document.write("<br />");
for(var i=0;i<count;i++)
if(a==true)
x=1;
else if(a==false)
x=1;
else
x=1;
s0=s1;
t=new Date();
s1=t.getTime();
document.write("ifelse: "+(s1-s0)+" ms");
document.write("<br />");
</script>
几组结果:
Time:
switch: 862 ms
ifelse: 941 ms
Time:
switch: 851 ms
ifelse: 952 ms
Time:
switch: 851 ms
ifelse: 941 ms本回答被提问者采纳
JavaScript 中if条件判断语句
条件语句
在写代码时,经常会需要基于不同判断执行不同的动作;
您可以在代码中使用条件语句来实现这一点。
在 JavaScript 中,我们可使用如下条件语句:
1.使用 if 来规定要执行的代码块,如果指定条件为 true;
2.使用 else 来规定要执行的代码块,如果相同的条件为 false;
3.使用 else if 来规定要测试的新条件,如果第一个条件为 false;
4.使用 switch 来规定多个被执行的备选代码块。
if 语句
单分支语句,由一个if组成,如果条件成立,则进入代码开始执行语句。
语法
if (条件)
如果条件为 true 时执行的代码
实例:
let age = 20;
if(age >= 18)
console.log("已成年");
else 双分支语句
如其名,有两个分支线,如果if不成立,那么就会跳入else语句里面。
if (条件)
条件为 true 时执行的代码块
else
条件为 false 时执行的代码块
实例:
let age = 16;
if(age >= 18)
console.log("已成年");
else
console.log("还未成年");
else if 多分支语句
多个if...else语句可以组合在一起,形成逻辑决策树。
语法
if (条件 1)
条件 1 为 true 时执行的代码块
else if (条件 2)
条件 1 为 false 而条件 2 为 true 时执行的代码块
else
条件 1 和条件 2 同时为 false 时执行的代码块
需要注意的就是在多分支语句里面,如果进入到了某一个语句块,后面的条件就不会再进行判断,而是会直接跳出。
例如:
let readline = require("readline-sync");
console.log("输入考试成绩:");
let score = readline.question("");
if(score > 100 || score < 0)
console.log("成绩输入有误?");
else if(score >= 90)
console.log("优秀");
else if(score >= 70)
console.log("良好");
else if(score >= 60)
console.log("合格");
else
console.log("不合格");
以上是关于在javascript中switch和if哪个执行的更快的主要内容,如果未能解决你的问题,请参考以下文章
JS入门基础(if else 与 switch case / node安装)