一.运算符的优先级
运算符:, 可以分割多个语句,可以在声明多个变量时使用
优先级右上往下依次递减
二.语句
我们的程序是由一条一条语句构成的,
语句是按照自上向下的顺序一条一条执行的。
在JS中,可以使用{}来为语句分组
同一个{}中的语句,我们称为是一句语句,它们要么都执行,要么都不执行,
一个{}中的语句,我们也称为一组语句也叫一个代码块
在代码块的后边就不用再编写;了。
JS中的代码块,只具有分组的作用,
代码块内部的内容,在外部是可见的
1.if语句
条件成立才会执行语句,不成立则语句不执行
语句的分类:
1.条件判断语句
2.条件分支语句
3.循环语句
语法一:
if(条件表达式)
{
语句......
}
if语句在执行时,会先对条件表达式进行求值判断,
如果条件表达式的值为true,则执行if后的语句,
如果条件表达式的值为false,则不会执行if后的语句。
if语句只能控制紧随其后的那个语句
if语句后的代码块不是必须的,但是在开发中尽量写上代码块
语法二:
if(条件表达式)
{
语句......
}
else
{
语句......
}
当该语句执行时,会先对if后的条件表达式进行求值判断
如果该值为true,则执行if后的语句
如果该值为false,则执行else后的语句
语法三:
if(条件表达式)
{
语句......
}
else if(条件表达式)
{
语句......
}
else if(条件表达式)
{
语句......
}
当该语句执行时,会从上到下依次对条件表达式进行求值判断
如果值为true,则执行当前语句;
如果值为false,则继续向下判断。
如果所有的条件都不满足,则执行最后一个else后的语句
该语句中,只会有一个代码块被执行,一旦代码块执行了,则直接结束语句
2.switch语句
在执行时会依次将case后的表达式的值和switch后的条件表达式的值进行全等比较
语法:
switch(条件表达式)
{
case 表达式:
语句。。。
break;
case 表达式
语句。。。
break;
}
如果比较结果为true,则从当前case处开始执行代码、
且从当前开始的代码都会被执行,可以加 break 确保不会执行其他的
如果比较结果为false,则继续向下比较
如乐所有的比较结果都为false,则只执行default后的语句
switch语句和if语句的功能实际上有重复的,使用switch可以实现if的功能,同样使用if也可以实现switch的功能,所以我们使用时,可以根据自己的习惯选择。
3.循环语句
①while循环
语法:
while(条件表达式)
{
语句...
}
while语句在执行时,先对条件表达式进行求值判断,
如果值为true,则执行循环体,循环体执行完毕以后,继续对表达式进行判断,
如果为true,则继续执行循环体,以此类推。
如果值为false,则终止循环
var i,n;
i=1;
n = +prompt("请输入终止数:");
while(i<=n){
document.write("i = "+i+"<br>");
i++;
}
②do…while循环
语法:
do
{
语句
}
while(表达式)
do. . .while语句在执行时,会先执行循环体,循环体执行完毕以后,在对while后的条件表达式进行判断
如果结果为true,则继续执行循环体,执行完毕继续判断以此类推如果结果为false,则终止循环
do. . .while可以保证循环体至少执行一次,而while不能
var i,n;
i=1;
n = +prompt("请输入终止数:");
do{
document.write("i = "+i+"<br>");
i++;
}while(i<=n);
③for循环
for(初始化表达式;条件表达式;更新表达式)
{
语句...;
}
在for循环中,为我们提供了专门的位置,用来放三个表达式:
1.初始化表达式;
2.条件表达式;
3.更新表达式。
var i = 0;
while(i < 10)
{
alert(i++);
}
for(var i = 0; i < 10; i++)
{
alert(i);
}
④嵌套的for循环
for(var i=0; i<10; i++)
{
for(var j=0; j<i+1; j++);
{
document.write("*");
}
document.write("<br />");
}
三.break和continue
break
break关键字可以用来退出switch或循环语句
不能在if语句中使用break和continue
break关键字,会立即终止离他最近的那个循环语句
label
可以为循环语句创建一个label,来标识当前的循环
label:循环语句
使用break语句时,可以在break后跟着一个label,这样break将会结束指定的循环,而不是最近的
continue
continue关键字可以用来跳过当次循环
同样continue也是默认只会对离他最近的循环循环起作用
计时 console.time()-----console.timeEnd();
测试如下的程序的性能
在程序执行前,开启计时器
console.time( “计时器的名字”)可以用来开启一个计时器
它需要一个字符串作为参数,这个字符串将会作为计时器的标识