JavaScript权威指南(第六版)-第5章 语句

语句

条件语句,循环语句,跳转语句

一.表达式语句

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

扫描二维码关注公众号,回复: 3352073 查看本文章

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”

猜你喜欢

转载自blog.csdn.net/weixin_41056807/article/details/82659886