
深入JavaScript的运行原理
1 深入V8引擎原理
JavaScript代码的执行

V8引擎的执行原理

V8引擎的架构

V8引擎的解析图(官方)

V8引擎的解析图

JavaScript代码执行原理 - 版本说明

JavaScript的执行过程

初始化全局对象

2 JS执行上下文
执行上下文( Execution Contexts )

认识VO对象(Variable Object)

3 全局代码执行过程
全局代码执行过程(执行前)

全局代码执行过程(执行后)


4 函数代码执行过程
函数如何被执行呢?

函数的执行过程(执行前)

函数的执行过程(执行后)


5 作用域和作用域链
作用域和作用域链(Scope Chain)

作用域提升面试题

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 1.面试题一:
// var n = 100
// function foo() {
// n = 200
// }
// foo()
// console.log(n)
// 2.面试题二:
// var n = 100
// function foo() {
// console.log(n)
// var n = 200
// console.log(n)
// }
// foo()
// 3.面试题三:
// var n = 100
// function foo1() {
// console.log(n)
// }
// function foo2() {
// var n = 200
// console.log(n)
// foo1()
// }
// foo2()
// 4.面试题四:
// var n = 100
// function foo() {
// console.log(n)
// return
// var n = 200
// }
// foo()
// 5.在开发中可能会出现这样错误的写法
// function foo() {
// message = "Hello World"
// }
// foo()
// console.log(message)
// 6.面试题五:
function foo() {
var a = b = 100
}
foo()
console.log(b)
</script>
</body>
</html>
JavaScript内存管理和闭包
1 JavaScript内存管理
认识内存管理

JavaScript的内存管理

2 垃圾回收机制算法
JavaScript的垃圾回收

常见的GC算法 – 引用计数(Reference counting)

常见的GC算法 – 标记清除(mark-Sweep)

常见的GC算法 – 其他算法优化补充

V8引擎详细的内存图

3 闭包的概念理解
又爱又恨的闭包

JavaScript的函数式编程

闭包的定义

4 闭包的形成过程
闭包的访问过程

闭包的执行过程

5 闭包的内存泄漏
闭包的内存泄漏

闭包的内存泄漏测试

AO不使用的属性优化
