一,语句
表达式和运算符等可以理解成一门语言中的单词,短语;而语句就是这个语言中一句一句完整的话。语句是按照自上向下的顺序一条一条执行的,在JS中可以使用{}来为语句进行分组。{}中的语句也成为代码块,在代码块后面不用分号。JS中代码块只有分组的作用,没有其他的用途,代码块内部的内容在外部是可见的。
二,流程控制语句
JS中的程序是从上向下一行一行的执行,通过流程控制语句可以控制程序执行流程,使程序可以根据一定的条件来选择执行。
语句的分类:
1.条件判断:可以在执行某个语句之前进行判断,如果条件成立才会执行,条件不成立语句不执行。
语法一:
if(条件表达式){
语句
}
if语句在执行时会先对条件表达式进行求值判断,如果条件表达式的值为true,则执行if后的语句。如果条件表达式的值为false则不会执行if后的语句。if语句只能控制紧随其后的那个语句,如果希望if可以控制多条语句,将这些语句同意放到代码块中。
语法二:if(条件表达式){
语句.1..
}else{
语句.2...
}
如果条件表达式的值为true,则执行语句1,否则执行语句2。
语法三:
if(条件表达式1){
语句.1..
}else if(条件表达式2){
语句.2...
}
该语句执行时,会从上到下依次对条件表达式进行求值判断,如果条件表达式为真则执行if里面的语句,否则继续判断执行。
注意:
2.条件分支语句
条件分支语句也叫switch语句,语法:
switch(条件表达式){
case 表达式:
语句...
break;
case 表达式:
语句...
break;
case 表达式:
语句...
break;
default:
语句...
break;
}
switch....case...语句在执行时会依次将case后的表达式的值和switch后的条件表达式的值进行全等比较,如果比较结果true,则从当前case处开始执行代码,当前case后的所有代码都会执行,使用break退出switch语句。如果所有的比较结果都为false则执行default后的语句。
除10在其他语言中有效在JS中无效,98这样的情况就不行了,只能100,90,80,
3.循环语句
问题:向网页中输出连续的数字:
documnet.write(num+"<br />");网页中换行<br />
通过循环语句可以反复的执行一段代码;
1)while循环,语法:
while(条件表达式){
语句....
}
while在执行时先对表达式进行求值判断,如果值为true ,则执行循环体,循环体执行完毕以后,继续对表达式进行判断;如果为true则继续执行循环体,如果值为false则终止循环。
死循环,程序一直执行,不停的写内存,内存满了就会溢出,就得强制关闭。在浏览器中测试死循环我们可以直接关闭网页,在HBuilder内置浏览器中测试死循环我们点击关闭的时候回发现关闭不了,我们可以同时按住回车键+鼠标点击关闭。或者启动云雾管理器关闭以后打开工作空间,删除里面的写了死循环的文件。
2)do{
}while(条件表达式),执行流程:会先执行循环体,循环体执行完毕后再对while后的条件表达式进行判断,do...while可以保证循环体至少执行一次,
3)for循环,
水仙花数是指一个3位数,它的每位上的数字的3次幂之和等于他本身,如(1^3+5^3+3^3=153,)请打印所有的水仙花数。
在页面中接收一个用户输入的数字,判断该数字是否是质数
4)嵌套for循环
九九乘法口诀表:
5)break关键字:可以用来退出switch 或循环语句,if里面不能使用break
6)contiune关键字:可以用来跳过当次循环,continue默认只会对离其最近的循环起作用,也可以指定label标签
b
reak终止当前循环
Break来提升算法的性能:
性能提升 比较到i开方,Math.sqrt(i)