1、运算符的优先级
– 运算符:可以分割多个语句,一般可以在声明多个变量时使用。
– 就和数学中一样,在JS中,运算符也有优先级
在JS中有运算符优先级的表
– 在表中,越靠上,优先级越高;优先级越高,越优先计算
– 遇到优先级不清楚的,可以使用(),改变优先级
<script>
var a;
a = (1 || 2) && 10;
document.write("a =" + a );
</script>
2、代码块
– 程序是由一条一条语句构成的,语句是按照自上向下的顺序一条一条执行的。
– 在JS中,可以使用{}来为语句分组
– 同一个{}中的语句,称为是一句语句,要么都执行,要么都不执行,
– 一个{}中的语句,也称为代码块。
– 在代码块的后边不用分号。
– JS中代码块只有分组的作用。
{
var a=10;
alert("hello");
console.log("yuju")
}
//一个代码块
{
var a=10;
alert("hello");
console.log("yuju")
}
3、流程控制语句
程序都是自上向下的顺序执行的,
通过流程控制语句可以改变程序执行的顺序,或者反复的执行某一段的程序。
– JS中的程序是从上到下一行一行执行的,
通过流程控制语句可以控制程序执行流程,
使程序可以根据一定的条件来选择执行。
– 语句的分类:
1.条件判断语句
2.条件分支语句
3.循环语句
条件分支语句
条件判断语句也称为if语句
语法一:
if(条件表达式){
语句...
}
执行流程:
if语句执行时,会先对条件表达式进行求值判断,
如果值为true,则执行if后的语句
如果值为false,则不执行
语法二:
if(条件表达式){
语句...
}else{
语句...
}
执行流程:
if...else语句执行时,会对条件表达式进行求值判断,
如果值为true,则执行if后的语句
如果值为false,则执行else后的语句
语法三:
if(条件表达式){
语句...
}else if(条件表达式){
语句...
}else if(条件表达式){
语句...
}else if(条件表达式){
语句...
}else{
语句...
}
执行流程
if...else if...else语句执行时,会自上至下依次对条件表达式进行求值判断,
如果判断结果为true,则执行当前if后的语句,执行完成后语句结束。
如果判断结果为false,则继续向下判断,直到找到为true的为止。
如果所有的条件表达式都是false,则执行else后的语句
1.条件分支语句
switch语句
语法:
switch(条件表达式){
case 表达式:
语句...
break;
case 表达式:
语句...
break;
case 表达式:
语句...
break;
default:
语句...
break;
}
执行流程:
switch…case…语句在执行时,会依次将case后的表达式的值和switch后的表达式的值进行全等比较,
如果比较结果为false,则继续向下比较。如果比较结果为true,则从当前case处开始向下执行代码。
如果所有的case判断结果都为false,则从default处开始执行代码。
循环语句
通过循环语句可以反复执行某些语句多次
while循环
语法:
while(条件表达式){
语句...
}
执行流程:
while语句在执行时,会先对条件表达式进行求值判断,
如果判断结果为false,则终止循环
如果判断结果为true,则执行循环体
循环体执行完毕,继续对条件表达式进行求值判断,依此类推
do…while循环
语法:
do{
语句...
}while(条件表达式)
执行流程
do…while在执行时,会先执行do后的循环体,然后在对条件表达式进行判断,
如果判断判断结果为false,则终止循环。
如果判断结果为true,则继续执行循环体,依此类推
和while的区别:
while:先判断后执行
do…while: 先执行后判断
do…while可以确保循环体至少执行一次。
for循环
语法:
for(①初始化表达式 ; ②条件表达式 ; ④更新表达式){
③语句...
}
执行流程:
首先执行①初始化表达式,初始化一个变量,
然后对②条件表达式进行求值判断,如果为false则终止循环
如果判断结果为true,则执行③循环体
循环体执行完毕,执行④更新表达式,对变量进行更新。
更新表达式执行完毕重复②
死循环
while(true){
}
for(;;){
}
break和continue
– break 用于跳出一个循环体或者完全结束一个循环,不仅可以结束其所在的循环,还可结束其外层循环;
– continue 语句的作用是跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为只是中止(跳过)本次循环,接着开始下一次循环
//在程序执行前,开启计时器,
console.time()可以用来开启一个计时器,
//它需要一个字符串作为参数,这个字符串将会作为计时器的标识,
console.timeEnd()可以用来关闭一个计时器。