zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    Android录制视频添加水印的高效方案之YUV帧数据覆盖
    Android 数据库迁移--自定义数据类型
    Android Camera录制视频添加水印
    Android视频录制 花屏、绿屏的分析及解决方案
    Android Moudle封装SDK的步骤及注意事项总结
    Android音频流+视频流合成视频及提取音频流、视频流数据
    常见排序算法以及时间复杂度
    整合两个有序集合 时间复杂度最小为O(n)
    Android启动app步骤简介
    HihoCoder String Matching Content Length
  • 原文地址:https://www.cnblogs.com/jinkspeng/p/4008439.html
Copyright © 2011-2022 走看看