JS的判断语句:判断、循环
判断
条件成立做什么 条件不成立做什么
1、if/else
2、三元运算符(简单判断时用的)
//1、如果处理的事情比较多,我们用括号包起来,每一件事情用逗号分隔
//2、如果不需要处理事情,可以使用null/undefined占位
a>0 &&a<20 ? (a++,console.log(a)) : null;
语法:
//条件?条件成立处理的事情:不成立处理的事情;
a>=10 ? console.log(“ok”) : console.log(“on”);
3、switch case
// 一个变量在不同值情况下的不同操作
// 每一个case结束之后最好都加上break;
// default等价于else,以上都不成立干的事。
//不加break,当前条件成立执行完之后,后面条件不论是否成立都要执行,直到遇到brack为止。
好处:不加break可以实现变量在某些值情况下做出相同的事情
//每一种case情况的比较都是用‘===’绝对相等
let a =10;
switch(a){
case 1: console.log('我是a=1的时候输出的');break;
case 5: console.log('我是a=5的时候输出的');break;
default:
console.log("以上情况都不成立");
}
== vs===
==:相等 (如果左右两边数值类型不同,是默认先转换为相同的类型,然后再比较)
‘5’==5 =>true
===:绝对相等(如果类型不一样,肯定不相等,不会默认转换数据类型)
‘5’===5 =>false
循环
重复做某件事情就是循环
- for循环
1、创建循环的初始值
2、设置(验证)循环执行的条件
3、条件成立执行循环体的内容
4、当前循环结束执行步长累计操作
循环体中的两个关键词
break:强制结束整个循环,直接结束
continue:结束当前这轮循环 (continue后面的代码不再执行),继续下一轮循环
for(var i=0;i<5;i++){
console.log(i);//输出0 1 2 3 4
}
console.log(i);//输出5
- for in 循环
用来循环遍历对象中的键值对的(continue和break同样适用)
for in在遍历的时候 优先循环数字属性名(从小到大)
var obj={
name:'易烊千玺',
friends:'张三,李四',
1:20,
2:149,
3:104
};
//for(var 变量(key) in 对象)
//对象中有多少组键值对,循环就执行几次(除非break结束)
for(var Key in obj){
//每一次循环key变量存储的值:当前对象的属性名
//获取属性值:obj[属性名]=>obj[key] obj.key/obj['key']
console.log('属性名'+Key+'属性值'+obj[Key] );
}
- for of循环(ES6新增)
- while
- do while