JavaScript基础小总结(二之判断和循环)
接上一篇
一,JavaScript中的判断
**1:if判断**
<1>:句式if(判断条件){如果为真(true)}else{如果为假};
例:var a=1;
if(a==2){
console.log(“我是真的”)
}else{
console.log("我是假的")
}
var b = 3;
if(b == 1){//如果b是一的话执行
console.log("我是一")
}else if(b ==2 ){//否则来这个块,如果b是二的话执行
console.log("我是二")
} else{//否则来这个块
console.log("我是三")
}
//注意;自我认为if语句在前端来说用的还是非常非常非常多的,我也
不能说有多重要吧,反正每个项目最少都有好几十上百甚至更多的if语
句。我举的例子只是为了熟悉一下js语法。
**1:句式swich(表达式){case n:break;default:}**
例:var a = 3;
switch(a){
case 1://如果为1执行该代码块
console.log("1111");
break//可以理解为停止继续向下执行,后面会有总结
case 2://如果是2执行的代码块
console.log("2222")
break
case 3://如果是3执行的代码块
console.log("3333")
break
default://如果都不是执行该代码块
console.log("wwwww")
break
}
//注意:break别漏了;这个是我比较喜欢的一个判断 ;看起来整洁;
case 条件 :这俩点,别漏了 。
判断类最基础的应该就这俩,如有遗漏,欢迎评论指正
二,JavaScript中的循环。
1:for循环(用的比较多的;跟if判断完美的配合。)
例:var arr = [1,2,"a",5,6];
for(let i = 0; i < arr.length;i++){
console.log(arr[i])//打印出来数组中的每一项
}
//for循环是针对数组的一个循环;遍历数组中的每一项,i类似于key;
下标的意思;建议循环块里面声明i的时候用let;原因自己去看js的变量
声明。
2:for in循环(可以理解成for循环的升级版;可以遍历对象的,用的还是蛮多的)
例: var arr = [22,33,44,55,66,77]
for(let i in arr){
console.log(arr[i])
}
var obj = {a:1,b:2,c:[123],d:"aaa"};
for(let i in obj){
console.log(obj[i])
}
//和for循环的区别是for in 可以遍历对象,i代表对象的key值;是字
符串,而不是下标!
3:forEach循环(ES5的,也是蛮强大的;使用率也还不错);
例:var arr = [22,33,44,55,66,77] ;
arr.forEach(function(i,j){
console.log(i,j)
})
//i表示当前下标对应的值;j代表下标。不可以遍历对象哦;它没有返回值
4:for of循环(ES6新增,类似于for in ;forEach的增强版;代替者)l;
例:var arr = [22,33,44,55,66,77] ;
for(let i of arr){
console.log(i)
}
//返回数组中对应的值;不可以遍历对象。
5:while循环(用的较少)
例: var arr = [22,33,44,55,66,77] ;
var i = 0;
while(arr[i]){
console.log(arr[i]);
i+=1;
}
//注意 i+=1,类似于下标叠加;如果不写那便是死循环,浏览器卡死;
6:do while循环(类似于while的增强版吧,用的也不是很多)
例:var i = 1;
do{
console.log(i);
i++
}
while(i<10);
//while 是条件;没有的话应该也是死循环。
7:map()遍历,在框架react中用的比较多
例: var arr = [22,33,44,55,66,77] ;
arr.map(function(i,j){
console.log(i,j)
})
//只能遍历数组 ,不可遍历对象。i返回数组中的每一个项,j表示的是下标
8:filter()过滤;也是一种遍历手段;根据条件返回数组中符合条件的项;
例: var arr = [22,33,44,55,66,77] ;
arr.filter(function(i,j){
console.log(i,j)//i表示数组中的每一个项,j表示的是下标
})
//它可以根据条件筛选出数组中符合该条件的项;使用率还是蛮高的 ,自我感觉
跟map还是很像的 只不过map返回的是true和false;filter返回的是一个新的
数组
9:some()遍历方法(使用率不很高)
例: var arr = [22,33,44,55,66,77] ;
arr.some(function(i,j){
console.log(i,j)//i表示数组中的每一个项,j表示的是下标
})
let arr1 = arr.some(function(i,j){
return j>50
})
console.log(arr1)//false
//这个方法用于检查数组中的元素是否满足指定条件,条件就是上例子
中的 return j>50;因为数组的长度根本没那么多,下标又怎么可能
大于50呢,故返回false。
10:every()遍历,自我感觉跟some()有点像。不同在于该方法是否**都**符合指定
的条件返回布尔值。
例:var arr = [22,33,44,55,66,77] ;
var cc = arr.every(function(i,j){
return i>67
})
console.log(cc)//false
11: reduce();
12: reduceRight();
//后边这两种方法也是可以遍历的,但是我没用过;也没怎么见过别人用过。我并不是
说这两个方法没卵用,只是可能没有碰到使用的场景。这两种方法好像是一个是从前往
后做计算然后返回一个值 一个是从后往前返回一个值。
有写的不对或者遗漏的,欢迎前来评论指正!!咱们互相学习互相进步!!!下一篇总
结数组、字符串等方法。
欢迎评论关注