1.一元运算符的前置与后置操作
n++表示先使用n完成整个表达式的计算后,n再自加;而++n表示n先自加,然后在进行表达式的运算。
let n = 1
let f = 2
let d = f + n++
console.log(d)//3
let n = 1
let f = 2
let d = f + ++n
console.log(d)//4
2.比较运算符
等于“==”,全等于“===”,这两者的区别是执行等于时会发生类型转换,而全等于不会。
let a= 1
let b = "1"
console.log(a == b)//true
console.log(a === b)//false
3.逻辑运算符与短路运算符
逻辑与“&&”,逻辑或“||”;短路与“&”,断路或“|”。
逻辑在条件确定后就不再进行判断,而端路运算符会继续判断。
let a = 2
let b = 2
console.log(a == 1 && b++ == 3)//false
console.log(b)//2
let a = 2
let b = 2
console.log(a == 1 & b++ == 4)//0
console.log(b)//3
可以使用逻辑或赋值。如果使用断路或,会返回0或1(标识假和真)。
let msg = prompt() || "weizhuren"
console.log(msg)//如果输入则显示输入内容,如果没有输入则显示weizhuren
4.三元表达式
简单的if语句可以使用三元表达式进行判断。
let age = 15
if(age >= 18){
console.log("已成年")
}else{
console.log("未成年")
}
//可以将上面的判断语句简写成以下三元表达式
console.log(age >= 18 ? "已成年" : "未成年")
5.switch
在switch,如果匹配成功则执行对应事件,如果全部不匹配则执行default内的事件。如果不添加break则在条件成立后,会一直执行到结束。
let name = "视频"
switch(name){
case "产品":
console.log("这是一个产品");
break;
case "视频":
console.log("这是一个视频");
break;
case "音频":
console.log("这是一段音频");
break;
default:
console.log("未知内容")
break;
}
6.while
循环语句,注意限制循环结束条件即可。
7.do···while
类似while,但是先执行一次循环再进行判断。
8.for
执行有规律的循环。
for(let i = 0;i < 10;i++){
console.log(i)// 0 1 2 3 4 5 6 7 8 9
}
9.break与continue
break会直接跳出循环,而continue会终止本次循环,进入下一次循环。
for(let i = 0;i < 5;i++){
if(i == 3){
break
}
console.log(i)//0 1 2
}
for(let i = 0;i < 5;i++){
if(i == 3){
continue
}
console.log(i)//0 1 2 4
}
10.label标签
label标签可以标明一个循环。
first:for(let i = 1;i <= 10;i++){
second:for(let n = 1;n<= 10 ;n++){
if(n % 2 == 0){
console.log(i,n)
}
if(n + i > 10){
break first//直接跳出第一层循环
}
}
}
// 1 2
// 1 4
// 1 6
// 1 8
// 1 10
11.for···in
for···in可以遍历数组和对象,对于索引值进行循环。
let movies = [
{name:"降临",grade:7.7},
{name:"喜宴",grade:8.9},
{name:"奇迹男孩",grade:8.6}
]
for(let i in movies){
console.log(movies[i].name,movies[i].grade)//降临 7.7 喜宴 8.9 奇迹男孩 8.6
}
for(let key in window){
console.log(key)//输出window的属性值
}
12.for···of
for···of类似于for···in,for···of方法是对元素值进行遍历。
let movies = [
{name:"降临",grade:7.7},
{name:"喜宴",grade:8.9},
{name:"奇迹男孩",grade:8.6}
]
for(let value of movies){
console.log(value .name,value .grade)//降临 7.7 喜宴 8.9 奇迹男孩 8.6
}