JS 笔记 第 4 章 变量、作用域、内存

TL;DR

  • 原始值大小固定,保存在栈内存上
  • 复制原始值至另一个变量,会创建第二个副本
  • 引用值是对象,保存在堆内存上
  • typeof 确认原始类型,instanceof 确认引用类型
  • 全局上下文只能访问全局上下文中的变量和函数,局部中的数据无法访问

4.1 原始值与引用值

原始值是简单的数据,访问的是值

引用值保存的是多个值的对象,保存的是对象的引用

JS并不能够直接操作内存

字符串是原始值,而不是引用

原始值添加属性并不会报错,但添加完属性还是Undefined

只有引用值可以动态添加属性

把引用值赋给另一个变量的时候,两个变量是对堆内存中同一个对象的指针

传参却只有按值传参

函数的参数是局部变量

1
2
3
4
5
6
7
8
9
10
11
12
13
  TODO:

# 4.2 执行上下文与作用域

作用域链


# 4.3 垃圾回收

标记清理

引用计数