• 读JavaScript权威指南(第六版)笔记(第五章)


    语句

    表达式在JavaScript中是短语,那么语句就是JavaScript整句或命令。用句号作结尾来分隔语句。表达式计算出一个值,但语句用来执行以使某件事发生。

    5.2复合语句和空语句

    复合语句:用花括号把多条语句括起来形成符合语句。

    {
      x = Math.PI;
      cx = Math.cos(x);
         ...................          
    }
    // 第一,语句块的结尾不需要分号
    //第二,语句块中的行都有缩进
    

    空语句:包含0条语句的语句。空语句就一个分号  //  ; JavaScript解释器执行空语句时它显然不会执行任动作。

    // 空语句造成的bug
    if((a == 0) || (b == 0)); // 糟糕!这一行代码什么都没做。。。循环不会执行
    o = null; // 这行代码总是执行
    

    5.5for/for in

    // for 循环语句只枚举对象的自身属性
    // for in 循环语句除了枚举自身属性,还要枚举继承来的属性。
    

    5.6.1标签语句

    语句是可以添加标签的,标签是由语句前的标识符和冒号组成。

    mainloop:while(token !=null) {
          // 忽略这里的代码。。。
          continue mainloop; // 跳转到下一次循环
          // 忽略这里的代码
    }
    

    5.6.5 throw语句 

    JavaScript中,使用throw语句显示抛出一个异常(当程序产生某种异常情况或错误时产生的一个信号)。

    var a;
    if (a) {
           console.log(a);   
    } else {
           throw new Error("a没有初始化");       
    }
    

    5.6.6try/catch/finally语句

    try/catch/finally语句是JavaScript的异常处理机制。

    try {
          // 通常来讲,这里的代码会从头执行到结尾而不会产生任何问题,
          // 但有时会抛出一个异常,要么是由throw语句显示抛出
           // 要不是通过调用一个方法间接抛出异常   
    } catch (e) {
          // 当且仅当try语句块抛出了异常,才会执行这里的代码
          // 这里可以通过局部变量e来获取对Error对象或者抛出的其他值的引用
          // 这里的代码块可以基于某种原因处理这个异常,也可以忽略这个异常
          // 还可以通过throw语句重新抛出异常
    } finally {
          // 不管try语句是否抛出了异常,这里的逻辑总是会执行,终止try语句块的方式有:
          // 1)正常终止,执行完语句块的最有一条语句
           // 2)通过break ,continue 或者return 语句终止
           // 3)抛出一个异常,异常被catch从句捕获
          // 4)抛出一个异常,异常未被捕获,继续向上传播      
    }
    

    5.7.1with语句

    with (object) statement

    这条语句是把object对象添加到作用域链的头部,然后执行statement,最后把作用域链恢复到原始状态。

    注:建议不要使用with语句,不好优化,并且运行得更慢。

    5.7.2debugger语句

    debugger语句通常是什么都不做,当调试程序可用并运行的时候,JavaScript解释器将会以调试模式运行。

    5.7.3“use strict” 是一条指令

      

  • 相关阅读:
    积木游戏
    斐波那契公倍数
    莫比乌斯反演,狄利克雷卷积,杜教筛
    CF932E Team Work
    【算法学习/数据结构】李超树
    【算法笔记/数学内容】博弈论-从入土到入土
    瞎几把写的cspj题解
    【算法笔记】数位dp
    【算法笔记】树形dp
    攻防世界-WEB相关writeup-3
  • 原文地址:https://www.cnblogs.com/tangh/p/6674571.html
Copyright © 2020-2023  润新知