5.1表达式语句具有副面作用的表达式是JavaScript中最简单的语句。
赋值语句:i *=3;
递增递减运算符:”++“,”--“
delete运算符
5.2复合语句和空语句JavaScript 将多条语句联合一起,形成复合语句。{}
空语句:允许包含0条语句的语句。 " ; "
5.3声明语句5.3.1 var声明一个或多个变量。如果没有变量的值 初始为undefined5.3.2 functionfunction用来定义函数,两种定义写法:
函数表达式与函数语句的区别:1) 当函数语句被定义时,无论改函数是在定义之前或定义之后都可以被脚本引用;而函数表达式只能在创建之后才能被引用,且必须按照代码编写的顺序。如:myfunction(); //可以被调用function myfunction(){
//执行语句
}
myfunction(); //不可以被调用
var myfunction = function(){
//执行语句
}
2) 函数表达式可以作为另一些函数或方法的参数
3) 函数表达式和函数语句的内存管理和垃圾回收方面不同
a) 函数表达式不能像函数语句那样独立存在,它必须赋给一个变量,假如该函数所附加的变量不再可用,那么就无法再访问到这个函数表达式了,它所使用的内存将被回收
b) 函数语句是以对象的形式独立存在的,无法删除,假如我们把他赋给一个变量,然后又让该变量等于null,此时只是变量不可再用来调用函数而已,但该函数还是存在的,它所分配的内存并不会被回收。
5.4 条件语句
5.4.1 if

假值:

5.4.2 else if

5.4.3 switch

5.5 循环
5.5.1 while

5.5.2 do/while

do开始,“;”结尾。
5.5.3 for

等价于

5.5.4 for/in

属性枚举的顺序
5.6 跳转
5.6.1 标签语句,5.6.2 break语句,5.6.3 continue语句

两个例子:

当i==5 && j==4时iNum=5*10+5*1,
当i==5 && i==5时,跳出outermost循环,即最外层循环体,整个循环结束,iNum++没执行,
所以iNum=5*10+5*1=55;
其中5*10为i从0到4,内层循环共执行了5次,iNum++共执行了50次,
5*1为i==5时,j从0到4,iNum++共执行了5次,到j==5时,跳出了整个循环。

当i==5 && j==4时,iNum=5*10+5*1,
当i==5 && i==5时,跳出outermost循环的本次循环,即跳出i==5时的最外层循环,然后继续从i=6开始,iNum++再继续执行,直到i==10(即1<10不成立),
所以iNum=5*10+5*1+(9-5)*10=95,
其中 5*10为i从0到4期间,j从0到9共执行了5次,iNum++共执行了50次
5*1表示i==5时,j从0到4共执行了5次,iNum++执行了5次
当i==5 && j==5是,跳出最外层的本次循环,即跳出i==5时的最外层循环,然后从i==6开始继续循环
(9-5)*10表示i从6到9(6,7,8,9)期间,j从0到9共执行了4次,iNum++共执行了40次
5.6.4 return 语句

return语句只能出现在函数体内,如果不是的话会报错。
如果没有return语句,则函数调用依次执行函数体内的每个语句知道函数结束,最后返回调用程序。
5.6.5 throw 语句

5.6.5 try/catch/finally 语句
5.7 其它语句
5.7.1 with语句

5.7.2 debugger语句
5.7.3 "use strict"语句