关于
主要
加载
- js加载过程中会造成阻塞,即其它内容暂时停止,加载完成之后会有一定的解析时间。
- js按块顺序加载,即按
<script>标签区分,但内容共享。 js加载完解析时有两个阶段,预编译与执行。预编译时会对变量和函数进行提前定义,但不会赋值,赋值按顺序执行。
123456789<!-- js文件书写顺序 -->test();var test = function(){alert('first');}function test(){alert('second');}test();12345678910<!-- 实际执行顺序 -->var test;function test(){alert('second');}test();test = function(){alert('first');}test();
href、src
- href用于建立链接关系,解析页面遇到时不会加载该内容,页面不会暂停加载。
- src用于引入内容,解析页面遇到要等待加载指向地址的内容,会暂停。
闭包
- 条件
- 内部函数使用了外部函数的变量
- 外部函数已经退出
- 内部函数可以访问
- 概念
- 允许函数访问局部作用域之外的数据;
- 实现
- 返回函数,创建新的作用域,使函数中调用的变量不被回收;
- 传递参数,形成私有变量
- 条件
ES6
- 部分特性
- let const
- default parameters rest parameters
- template string Multi-line string (``表示起始,${var}引用变量)
- destructuring
- arrow function (内部没有定义this,通过继承而来)
- Promise
- Class (class,extends,constructor,super)
- module (export import)
- 部分特性