一、条件语句(基本介绍)
if 条件语句
if (测试条件) {
测试条件为真时执行
}else if (测试条件) {
测试条件为真时执行
}else{
测试条件为假时执行
}
switch条件语句
switch(表达式){
case 表达式常量1: 语句1
case 表达式常量2: 语句2
case 表达式常量n: 语句n
default : 语句n+1
}
三目运算
表达式 ? 为真时执行 : 为假时执行
二、循环语句(基本介绍)
循环可以重复执行相同的代码或者某些的操作,随着开发中的要求,可能会出现多层嵌套。如果循环嵌套越多,时间复杂度会增大,尽量减少嵌套层数,尽量进行算法优化。
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);