js循环判断的方法


if语句

条件满足就执行,不满足就不执行

if(条件){
        语句
       }

if else语句

条件满足,执行语句1,条件不满足,执行语句2

if(条件){
       语句1
} else{
       语句2
}
 

if else if else if…

	if (条件1) {
		语句1
	} else{
		语句2
	} if (条件2) {
		语句2
	} else{
		语句3
	}

三元表达式

条件1?语句2:语句3;
如果条件1为true,执行语句2。如果条件1为false,执行语句3。

var num=421;

var num=123?console.log(密码正确) :console.log(密码错误)//输入num是否为123,如果是,输出密码正确,如果不是,输出密码错误
//输入值为421,显然输出反馈给用户的信息的是密码错误

switch

它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列特定值的选项时,就可以使用 switch


switch(表达式){

  case value1:

   //表达式等于value1时要执行的代码

    break;

  case value2:

   //表达式等于value2时要执行的代码

    break;

  default:

  // 表达式不等于任何一个value值时要执行的代码

}

switch语句和if语句的区别

switch…case语句通常处理case为比较确定值的情况,而if…else…语句更加灵活,常用于范围判断(大于、等于某个范围)。

switch语句进行条件判断后直接执行到程序的条件语句,而if…else…语句有几种条件,就得判断几次(从上到下依次判断)。

当分支比较少时,if…else…语句的执行效率比switch语句更高。

当分支比较多时,switch语句的执行效率比if…else…语句更高,结构也更清晰。


for循环

   for(初始化变量①; 条件表达式②; 操作表达式③ ){
                                            //循环体④
                                            }

初始化变量:其实就是用var声明一个普通的变量,并且这个变量通常是作为计数器使用。

条件表达式:用来决定每一次循环是否继续执行,也就是循环的终止条件。

操作表达式:每次循环最后执行的代码,经常用于更新计数器(递增或递减)。

循环体:一组被重复执行的语句。

执行流程:

  1. 初始化变量,初始化操作在整个 for 循环只会执行一次。
  2. 执行条件表达式,如果为 true,则执行循环体语句,否则退出循环,循环结束。
  3. 执行操作表达式,此时第一轮结束。
  4. 第二轮开始,直接去执行条件表达式(不再初始化变量),如果为 true,则去执行循环体 语句,否则退出循环。
  5. 继续执行操作表达式,第二轮结束。… 整体执行顺序为:① ② ④ ③ ② ④ ③ ② ④ ③ … ② 循环结束

while循环

    while (条件表达式) {
                        //循环体代码
                       }
  1. 先执行条件表达式,如果结果为 true,则执行循环体代码;
    如果为 false,则退出循环,执行后面代码

  2. 执行循环体代码

  3. 循环体代码执行完毕后,程序会继续判断执行条件表达式。

  4. while语句可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环。


do while循环

do while 是先执行代码,在进行判断,所以 do while 至少执行一次。

do {
    //循环体代码 - 条件表达式为 true 时重复执行循环代码
    } while(条件表达式);

for in

常用于遍历对象
不能使用break,continue,return来控制循环

let arr = [{name: '张三'},{name: '李四'}];    

for (let i in arr) {                    
                    console.log(i);	//遍历下标 结果为  0  1
                    } 

forEach

forEach用于遍历数组中的元素,并且会对数组中元素使用callback(),与map(),raduce()不同的是,它总返回一个undefined,并且不可以链式调用。
不能使用break,continue,return来控制循环

let arr = [{name: '张三'},{name: '李四'}];  

arr.forEach((item,index)=>{
                            console.log(index);
                             })

for of

for—of不能遍历普通对象,因为普通对象没有Symbol.iterator属性,如果一个对象有Symbol.iterator属性,那么就可以使用for—of遍历。
常用于遍历array(数组)map(映射)set(集合)strings(字符串)
可以使用break,continue,return来控制循环

let arr = [{name: '张三'},{name: '李四'}];   

for (let i of arr){
                    console.log(i);
                    }  

性能问题

forEach方法,for in方法,for of方法都来自于for循环。
它们只是底层进行不同的封装,虽然看起来简单,但是性能是没有for循环优秀的。
因为for循环是最底层,最基本,性能最优秀的一种遍历方式。但for循环一旦嵌套,比如冒泡排序,看起来是非常令人头疼的。
包括map()方法,sort()方法,都是针对不同数据类型,为了简单高效解决问题,进行了封装。但性能上说,for循环永远是最优秀的。

在这里插入图片描述

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猫娃来啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值