JS的判断、循环与选择

一、判断

1、三元表达式

判读条件?条件为true时的值 : 条件为false时的值。

var a = 1>2?"true":"false";
console.log(a);

2、if语句

var a = 1;
if(a==1){
  //当a=1时执行
  console.log(a);             
}

3、if单分支语句

var a = 1;
if(a==1){
  //当a=1时执行
  console.log(a);             
}else{
  //否则执行
  console.log("hello world"); 
}

4、if多分支语句

var a = 1;
if(a==1){
  //当a=1时执行
  console.log(a);             
}else if(a==2){
  //否则判断a=2,当a=2时执行  
  console.log(a);  
}else{
  //当所有分支都不满足时执行
  console.log("hello world"); 
}

5、使用&&与||进行简单的判断

逻辑表达式具有短路的特性,只要&&前表达式的结果不为true,就不会进入到&&后的代码,利用这个特性,我们可以使用&&进行简单的判断;

function a(x){
  x || console.log("没有传参");
  //如果x有值,则上面的语句等同于 true || console.log("没有传参"); 逻辑运算||中,前面的表达式若为true,后面的代码将被短路掉。
  x && console.log("传参数了");
}
a();

如果使用这种判断,需要实现某个js代码,则需要在js代码外加括号

function a(x){
x || (document.body.style.backgroundColor="black");
//如果x没有传参,就让body变成黑色
x && console.log("传参数了");
}
a();

二、循环

循环中使用continue可以跳过当前的步长执行下一次循环、使用break可以退出循环。

1、for循环

for循环语法:for(初始变量,执行循环的条件,步长){//for循环内执行的代码}

for(var i = 0;i<5;i++){
    console.log(i);
}

2、while循环

while循环语法:while(条件){//while循环内执行的代码},可以理解为  当(条件)满足时{//执行代码}

var i=0;
while(i<5){
  console.log(i);
  i++;          
}

3、do-while循环

 while循环语法:do{//while循环内执行的代码}while(条件),可以理解为  做{//执行代码}当(条件)满足时。

这个循环与while循环的区别是,do-while循环至少会执行一次;

var i=5;
do{
    console.log(i);
  i--;
}while(i>0)

三、选择

switch语句

这里的变量i是key值,可以理解成钥匙,底下的每个case都是一把锁。当key和case一致时,执行case中的代码。
default是key与case都不匹配的情况,一般写在所有case尾部。
执行完毕后需要用break退出switch语句。若不写break,则会穿透到有break的语句。
var i = 2;
switch(i){ 
case 1: console.log("i的值是1"); break; case 2: console.log("i的值是2"); break; default: console.log("i是其他值"); }

用switch语句来选择区间

用这种方式需要注意,区间小的条件应当放在最顶端。否则,当两个case范围重复时,满足区间大的条件时就会退出选择,不继续往下判断。

 var Scores = 60;
        switch(true){
            case Scores>=90:
                console.log("成绩为优秀");
                break;
            case Scores>=60:
                console.log("成绩为及格");
                break;
            default:
                console.log("成绩为不及格");          
        }
原文地址:https://www.cnblogs.com/wangzhengxin/p/13215673.html