## 数据类型
- 原始类型
- `Boolean`
- `String`
- `Number` 双精度 64 位二进制格式的值 `$ -(2^{63} -1) $` 到 `$ 2^{63}-1 $`
- NaN:无法表示的数值,NaN !== NaN
- +/-Infinity: 无穷大/无穷小
- `nndefiend`
- `null`
- `Symbol`
- `Object`
## var let
var 存在申明提升,即进入一个作用域的时候,会先将变量进行赋初值为undefined操作,然后执行后面的代码。这一就会导致在定义一个变量前就可以访问到,而且不报错。
虽然let申明的变量不会存在这一的,定义变量前访问这个变量会出错,但是实际上也是在进入在作用域时提起申明let变量的,只是并没有赋初值为undefined,而是放在了临时性死区,无法被访问。
> https://dmitripavlutin.com/variables-lifecycle-and-why-let-is-not-hoisted/
- Houser的个人Wiki
- Javascript
- 语言基础
- 变量
- 操作符整理
- new
- Ajax
- 事件
- 遍历
- 字符串转数字方法
- 原型链
- apply/call/bind
- 异步编程
- 模块化
- 继承的方式
- 对象的创建方式
- 内存泄漏
- js延迟加载
- 数据类型
- typeof
- 垃圾回收
- 作用域
- 闭包
- this
- es6
- 代码片段
- 对象拷贝
- Node.js
- 模块
- 库&框架
- Jquery
- 优点
- 组件库
- React
- React原理
- Key的作用
- JSX
- Redux
- Mobx
- 生命周期
- Typescript
- HTML&CSS
- viewport meta
- websocket
- webwork
- web GL
- html全局属性
- iframe
- 页面间通讯
- SVG
- 盒模型
- 输入url到显示的过程
- BFC(块格式化上下文)
- 动画
- CSS 秘密花园
- 前端
- webpack
- 后端
- nginx
- springboot
- 网络
- 跨域
- 网络攻击
- TCP
- Https
- Http状态码
- 缓存策略
- Http2
- 数据结构&算法
- 常用数据结构
- 开发&编码
- Git
- 分支策略
- 基本操作
- VSCode
- 工具
- App开发
- ReactNative
- 项目&业务
- Docker
- 协作工具
- 前端性能优化
- 登录授权
- 软件工程
- 渐进增强和优雅降级
- 计算机基础
- 设计模式
- 单例模式
- 工厂模式
- 发布订阅模式
- 适配器模式
- 代理模式
- 外观模式
- 命令模式
- 桥接模式
- 模板模式
- 职责链模式
- 正则