javascript ----选择、循环

一、条件语句(基本介绍)

 if 条件语句 

if (测试条件) {
    测试条件为真时执行
}else if (测试条件) {
    测试条件为真时执行
}else{
    测试条件为假时执行
}

switch条件语句

switch(表达式){

    case 表达式常量1: 语句1 

    case 表达式常量2: 语句2

    case 表达式常量n: 语句n

    default : 语句n+1
}

 三目运算

表达式 ? 为真时执行  :  为假时执行 

二、循环语句(基本介绍)

        循环可以重复执行相同的代码或者某些的操作,随着开发中的要求,可能会出现多层嵌套。如果循环嵌套越多,时间复杂度会增大,尽量减少嵌套层数,尽量进行算法优化。

        讲解循环的博客推荐
https://blog.csdn.net/qq_44757223/article/details/124112663https://blog.csdn.net/qq_44757223/article/details/124112663

for 循环语句

for (var i = 0  i< 10 ; i++) {
    console.log(i);
}
//死循环 ---倒也不报错
for(;;){}

 while循环语句

var i = 0 ;
//必须要有循环结束条件,不然....
while(i>10){
    console.log(i);
    i++;
}

 do  while 循环语句

var i  = 0;
do{
  //无论如何都会先行执行该语句
   console.log("先锋队")
}while(i >10){
   //然后再判断条件,是否满足进行循环。
   //还是那句必须要有循环结束的条件
    i++;
    console.log(i);
}

   for(var  in  object)  

        Es5中新增的循环,可以按任意顺序迭代一个除了symbol以外的可枚举属性(对象,数组,字符串)

for ( var in  object){
    //var : 指定的变量,可以是数组元素,也可以是对象属性
    //object : 指定迭代的对象    
}

// -------------循环对象
var  obj = {
     "key" : "value",
     "key2" : "value2"
};

for (var i in obj){
    console.log(obj[i]) //键名
    console.log(i);   // 键值
}


//---------------循环数组
var  arr = [99,32,00,2];

for (var i in arr){
    console.log(obj[i]) //数组元素
    console.log(i); //对应的数组下标
}

 forEach

        它不能使用break和continue这两个关键字,要想实现continue的效果,可以直接使用return
但是实现break的效果,foreach是无法实现的,只要使用便一定会遍历完的,除非通过异常抛出

采用break,continue报错的原因:forEach 每一个循环其实是一个匿名函数,函数只能是return进行退出。

注意

        1. forEach 没有返回值,就算设置了return返回也是接收不到的

        2.forEach 就算设置了return也退出不了迭代     

var arr  = [1,2,3,4]
arr.forEach ((item,index)=>{
    console.log(item);  //1 ,2 ,3 ,4
    console.log(index)  //0 ,1 ,2, 3
})



var obj = {"a" :1 ,"b" :2 };
obj.forEach((key) => {
    console.log(key);    // a , b
    console.log(obj[key]);    //1 , 2
})


//try ...catch 退出的方式
let arr2 = [1,2,3];
try {
    arr2.forEach((item)=>{
        if(item == 2){
            //抛出异常
            throw Error();
        }
        console.log("item-----",item); //  1
    })
} catch(error){
    // 跳出循环后执行
    console.log("跳出来了"); //可输出

 for of 

        es6中,可迭代对象、数组、Map、Set、String、TypedArray、argument等等

//创建set
let set = new Set ([1,2,3,4,5,6])

for (let val of set){
    console.log(val) //1 2 3 4 5 6 
}

        set : ES6中 提供的新的数据结构,类似数组,但成员中每一个值都是唯一的,无重复。

        map: ES6中 提供Map数据结构,类似对象,也是键值对的集合,但“键”可以是各种类型的值(包括对象)

        typedArray(定型数组): 一类指定元素类型的数组

        argument:一个对象,函数运行时的实参列表

三、循环中常用的关键字 

       continue   : 退出本次循环,继续下一次的循环(不会终止,除了当前的这次以外,还会继续循环下去,直到循环结束)

        break   跳出整个循环(也就是终止循环的意思)                                

        return   : 只作用于函数 ,终止函数的执行,并且返回函数值 , 遇到就会结束并不再运行后面代码。   

四、最简单的一些关于循环与判断的代码

        判断跟循环都很简单,主要是里面的表达式跟你自己所需要的操作编写才是难题。表达式需要学好一些数据类型操作符的运用,需要明白项目需求,思路要清晰。

        开发中,常做一些数据类型的判断、循环操作的一些操作符的运用、正则判断、数据是否一致等。

        1.九九乘法表

var str = ""
for (var i = 1 ; i<10 ; i++){
    for( let j  = 1; j<=i ; j++){
        console.log( `${j} * ${i} = ${i *j} `);
        str += ` ${j} * ${i} = ${i *j}  `;
    }
    str += "\n";
}
console.log(str);

    学艺不精,如若有误,烦请告知 ,阿里嘎多   

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值