Javascript权威指南--每日一读(语句)

1.switch语句函数

  • 语句都很熟悉的啦,只是提一句。switch中的case语句匹配的规则其实是“===”而非简单的“==”比较,case匹配不会作任何的类型转换的。优化

2.while和do/while.net

  • 都是循环语句,不一样的是检测表达式的位置。while是在循环的顶部,do/while是在循环体的底部检测。简单地说不管是否知足循环条件do/while都会至少执行循环体一次,而while则不是这样。debug

3.标签语句code

tag:if(matrix){
    for(var i = 0 ; i < matrix.lenght ; i++){
        var row = matrix[x];
        if(!row){
            break tag;
        }
    }
    //位置a
}
//位置b
//若是仅仅是break他会跳出到位置a,而上例中则跳转到了位置b。

4.throw语句htm

  • 异常语句,所谓异常语句是发生异常或错误的一个标志或信号。抛出异常就是指这个情况,捕获异常实是指处理的过程。例如ip

test(-1);
function test(x){
    if(x < 0){
        throw new Error("不能为负");
    }
    console.log(x);
}
//当抛出了异常,Javascript解析器会当即中止执行,并跳转到异常处理程序,若是找不到则会被当作程序错误并输出错误报告。

5.try/catch/finally语句作用域

  • 异常处理机制。字符串

  • try:定义须要处理的代码块;get

  • catch:在try以后用来在出现异常时进行处理;

  • finally:不管怎样都执行的语句,通常用于清理工做。

  • 不过好像coding的时候好像不多用到,那咱们何时才会用?研究了一下:实际上是为了程序“体面的退出”。

//例如:
try{
    window.a.b;
}catch(e){
    alert(e);
    alert("continue");
}
//若是用if粗糙地判断你须要先判断window.a是否合法在判断window.b不然直接判断就有可能出现问题。
//可是用try/catch就能够“体面”的返回报错,并使程序继续运行。

6.with语句

  • *严格模式中禁止使用with语句。非严格模式也不推荐使用,由于使用with的代码难于优化切效率比较低。

//with使用:
with(objecy){
    //body
}
//with能够暂时的将object推送到做用域链的顶端, 在body以后在恢复做用域链。
//好比:
with(obj) x=1;
//其实就是把obj推向了做用域链的顶端并使obj.x = 1;
//其实效果和在全局定义obj并obj.x = 1的效果是同样的;
//而且若是obj没有x属性的话,上例至关于x = 1;

7.debugger语句

  • 暂停程序执行,相似设置断点功能。

8.严格模式(use strict)

  • 它是ECMAScript5引入的指令(而非语句);

  • 仅仅是一个字符串直接量表达式,对于没实现ES5的解析器来讲,它仅仅是一条没有反作用的语句,至关于透明的存在。

  • 只能出如今脚本/函数体的开始;

相关文章
相关标签/搜索