Professional Documents
Culture Documents
重学前端
重学前端
工具链
持续集成 前端工程实践
搭建系统
架构与基础库
解析
构建DOM树
实现原理
计算CSS
渲染、合成和绘制
DOM
浏览器的实现原理和API
CSSOM
事件 API
API总集合
运行时类型是代码实际运行过程中我们用到的类型,所有的类型数据都会属于下面的
类型之一。从变量、参数、返回值到表达式中间结果,任何JavaScript代码运行过程 说明
中产生的数据,都具有运行时
表示未定义
任何变量在赋值前是Undefined类型 只有一个值:undefined Undefined
在JavaScript中,undefined是一个变量,不是
void 0;
关键字,可以被篡改
表示空值 通常出现在head标签中的元素,包含了描述文档
文档元信息 自身的一些信息
只有一个值:null Null
JavaScript关键字 语义相关内容 扩展了纯文本,表达文章结构、不同语言要素的
标签
类型
表示逻辑意义上的真和假 链接 提供到文档内和文档外的链接
Boolean
替换型元素 引入声音、图片、视频等外部元素替换自身的一
true
两个值 元素 类标签
false
表示文本数据 表单 用于填写和提交信息的一类标签
2^53 - 1 最大长度 表格 表头、表尾、单元格等表格的结构
字符串的操作 charAt、charCodeAt、 String HTML 总集
字符串的最大长度,受字符串的编码长度影响 length 等方法针对的都是 UTF16 编码
实体
一旦构建,无法修改内容 JavaScript中的字符串是immutable的
语言
命名空间
表示通常意义上的“数字” 语言类型
补充标准
NaN
- Infinity 语言 选择器
1 / 0 = Infinity +0
0值 单位
1 / -0 = -Infinity -0 正常流
中引入的新类型
CSS 布局
ES6
Symbol
弹性布局
是一切非字符串对象key的集合 数据结构 颜色和形状
数据属性 功能 绘制
属性 属性的集合 文字相关
访问器属性 动画
即使完全相同的两个对象,也并非同一个对象 交互
具有唯一标识性 其他交互
对象具有唯一标识的内存地址
同一对象可能处于不同状态之下 具有状态 特征
即对象的状态,可能以为它的行为变迁 具有行为 Object
属性的值 value
决定属性能否被赋值 writable
数据属性 运行时
决定 for in能够枚举该属性 enumerable
决定该属性能否被删除或者改变特征值 configurable 两类属性
在取值时被调用 函数或者undefined getter
在设置属性时被调用 函数或者undefined setter 访问器(getter/setter)属性
enummerable
configurable
应用和机制 实例
事件循环
微任务的执行
执行过程(算法)
函数的执行
语句级的执行
WhiteSpace 空白字符
LineTerninator换行符
Comment 注释
可以是Identifier、NullLiteral、BooleanLiteral或 源代码输入分类 词法
者keyword,在ObjectLiteral中,
IdentifierName还可以被直接当做属性名称使用
十进制数
二进制数 Token 词
数字直接量 NumericLiteral
文法
八进制数
十六进制数
用单引号或者双引号引起来的直接量 字符串直接量 StringLiteral
Body
正则表达式直接量 RegularExpressionLiteral
Flags
语法
语义