语句
条件语句,循环语句,跳转语句
一.表达式语句
1.客户端函数调用都是表达式:alert(greeting);window.close();
二.复合语句&空语句
1.
<script type="text/javascript">
x = Math.PI;
cx = Math.cos(x);
console.log("cos(π) = " + cx);
</script>
JavaScript中没有块级作用域,在语句中声明的变量并不是语句块私有的
2.JavaScript解释器执行空语句时他不会执行任何动作。创建空循环体循环
//初始化一个数组a
for(var i=0;i<a.length;a[i++] = 0);
三.声明语句
1.var function分别声明或定义变量和函数
var语句中的变量没有制动初始化表达式,则这个变量的值初始化为undefined
2.function用来定义函数,有两种写法
①
var f = function (x) {
return x+2;
}
②
function f() {
statements
}//f是要声明的函数的名称的标识符,f内传参用,间隔
例如:(递归)
function factorial(n) {
if(n<=1) return 1;
return n*factorial(n-1);
}
(return)
function hypotenuse() {
return Math.sqrt(x*x + y*y);
}
四.条件语句
1. if-else
var i = j =1;
var k =2;
if(i==j)
if(j==k)
console.log("i equals k");
else
console.log("i doesn't equal j");
JavaScript中if和else匹配规则,else 和就近if匹配
上面可以写成(花括号让代码结构更清晰)
var i = j =1;
var k =2;
if(i==j){
if(j==k)
console.log("i equals k");
}
else{
console.log("i doesn't equal j");
}
2.if-else if....- else
3.switch和case配套使用
switch(n){
case 1:
console.log("a");
break;
case 2:
console.log("b");
break;
case 3:
console.log("c");
break;
case 4:
console.log("d");
break;
default:
break;
}
default标签可以在switch语句内的任何地方
五.循环
1.while
输出0-9之间的值:
var count =0;
while(count<10){
console.log(count);
count++;
}
2.do/while
do-while和while的不同之处:①do循环要求必须使用关键字do来标识循环的开始,用while来标识循环的结尾并进入循环条件判断
②do用分号结尾,while的循环体用花括号
3.for
输出0-9之间的值:
for(var i =0;i<10;i++)
console.log(i);
用for来遍历链表数据结构,并返回链表中的最后一个对象(也就是第一个不包含next属性的对象)
function tail(o) {//返回链表的最后一个节点对象
for(;o.next;o = o.next)/*empty*/;//根据判断o.next是不是真值来执行遍历
return o;
}
for (;;)/*死循环*/
4.for/in
for遍历数组
var a = [1,2,3];
for(var i = 0;i<a.length;i++)
console.log(a[i]);
for/in循环不会遍历对象的所有属性,又有“可枚举”的属性。所有对象都有toString()方法,但是for/in循环并不枚举toString这个属性
5.枚举的顺序取决于具体的实现:
对象继承了可枚举属性
对象具有整数数组索引的属性
使用delete删除对象已有的属性
使用Object.defineProperty()或者类似的方法改变对象的属性
六.跳转
break
continue 不退出循环,而是转而执行下一次循环
throw语句和try/catch/finally一同使用,指定了处理异常的代码逻辑,抛出一个异常的时候。
return
——————————————————————————————————————————————
throw语句:
异常exception是当发生了某种异常情况或错误时产生的一个信号
catch从句跟随finally块,finally中放置清理代码,不管try块中是否产生异常,finally内逻辑会执行
try通常用于清理工作
var foo = function () {
try{
//抛出异常
}
finally {
return 1;//未处理异常直接返回,这里将正常返回
}
};
foo();
七.其他语句类型
with语句
debugger语句
“use strict”