logologo
  • WebUI
  • JavaScript
  • TypeScript
  • C++
  • ··
    • C
    • Rust
    • Python
    • Cangjie
    • SQL
    • Design
    概述
    常见的数据结构
    ecmascript相关
    enumerable
    Object 内部实现
    sameValue 算法
    unicode
    语法设计
    声明
    表达式
    模块
    语句
    严格模式
    类型系统
    Array
    typedArray
    Map
    Number
    Object
    Set
    String
    结构化
    基本的组织元素
    动态性
    并发性
    范式
    函数式
    函数的行为
    闭包
    函数
    从运算式语言到函数式语言
    语言的多范式

    Last Updated: 11/30/2025, 3:14:53 PM

    Previous pageunicodeNext page声明

    #语法部分

    #语言标识符

    • 语法关键字:表示语法、符号等抽象概念
    • 变量(常量):表示数据的存储位置
    • 变量声明:
      • 约定标识符的生命周期
      • 约定逻辑的作用域
      • 类型靠感知不靠声明,所以可以灵活解绑和重新绑定
    • 绑定:将两个独立的个体进行关联
      • 关联变量和数据实体
      • 变量的生命周期结束则绑定关系结束,数据实体随时可被GC回收

    #编程的语义

    描述数据和逻辑的过程

    • 描述数据的过程:变量的创建和类型的声明
    • 描述逻辑的过程:语句(含流传控制子句)
    • 描述数据与(算法的)逻辑的过程:表达式

    编程的语义

    语义标识符分类标识符示例
    数据相关类型-无显示类型声明
    数据相关变量值、对象、Symbol、字面量null、undefined、new Object()
    数据相关、逻辑相关表达式值运算、对象存取'abc' && obj.name
    数据相关、逻辑相关逻辑语句顺序、分支、循环let x=''; if(x){}; for(...of...)
    逻辑相关流程控制语句标签、异常、一般流程控制子句break;continue;return;try(){}catch{};
    其他其他注释、模块

    #语法错误和运行时错误

    • 静态错误:在代码载入时javascript 引擎会进行语法分析,若不通过则整个代码块都不执行。
    • 动态错误:在执行过程中若报错,那么在同一代码上下文中,出错点之后的代码将不再执行。

    不同的脚本引擎对于这两类错误的策略是不同的。