• js:语言精髓笔记3----语句


    JS语句分类:(注意语句都是有返回值的)

    • 声明语句:
      • 变量声明语句;
      • 标签声明语句;
      • 函数声明语句;
    • 表达式语句:(表达式加分号)
      • 变量赋值语句:具有声明一个变量的隐式效果;
      • 函数调用语句;
      • 属性赋值语句;
      • 方法调用语句;
    • 分支语句:
      • 条件分支语句;
      • 多重分支语句;
    • 循环语句:
      • for()
      • for...in
      • while
      • do..while
    • 控制结构:
      • 继续执行子句;
      • 中断执行子句;
      • 函数返回子句
      • 异常触发语句;
      • 异常捕获与处理;
    • 其他:
      • 空语句;
      • with语句;

    声明语句与赋值语句:

    • 声明语句(显示声明)一定就有var,它是语法符号,不是运算符;
    • 当语句中既有声明(隐式或显示)又有赋值的时候,等号其实是语法分隔符而不是运算符,固不能用“+=”等 代替;
    • 当仅使用赋值语句(变量已经声明),此时等号是运算符,可以用其他运算符代替;

    函数调用:

    • 具名函数直接调用: funtion foo(){}; foo();
    • 匿名函数通过引用调用: foo = function(){}; foo();
    • 没有引用的匿名函数调用:
      • (function(){}()):强制运算(最大的小括号)符使函数调用运算并执行
      • (function(){})():强制运算符运算“函数直接量声明”这个表达式,并返回引用,然后通过函数调用运算符操作引用;
      • void function(){}():void调用函数但忽略返回值;
    • 注意function(){}(),会被解析成两个语句,固无法执行;

    流程控制:一般子句

    • 标签声明:标签可以与变量重名,因为它是另外一种独立的语法元素;
    • break子句:使用范围:标签化语句(后面必须跟label),循环,switch分支;
    • continue子句:仅对循环有意义;可以使用标签,但只能对单个循环语句有意义;因为continue不允许跳转到当前/外层的单个循环语句的起始之外。
    • return子句:不指定返回值的话返回undefined,注意和void的区别;

    流程控制:异常

    • finally语句块总是在try/catch块退出之前被执行,即使有return或break;
  • 相关阅读:
    react组件之间传值方式
    html url 传递锚点并添加参数
    Spring Boot 构建WAR包
    Spring Boot Actuator 的使用
    Spring boot的启动加载原理
    intellij idea resin容器部署web工程
    Mybatis Mapper之见解
    踩坑----数据库阻塞
    redis缓存与数据库的记录不一致造成的问题.(乐观锁)
    H5中popstate事件的诡异行为
  • 原文地址:https://www.cnblogs.com/jinkspeng/p/4008439.html
Copyright © 2020-2023  润新知