| 方法名 | 操作 |
|---|---|
| push() | 添加新元素到栈顶 |
| pop() | 移除栈顶的元素,同时返回被移除的元素 |
class Stack {private item = []// 添加元素在栈顶,也就是栈的末尾push(el) {this.push(el)}// 栈先进后出原则,从栈顶出栈pop() {return this.item.pop()}}
代码的运行方式
function one() {function two() {function three() {debugger;}three();}two();}one();
内存区域
- 栈也是存放数据的一种内存区域
- 程序运行的时候,需要内存空间存放数据,一般来说系统会划分出两种不同的内存空间:一种叫做栈stack,另一种叫做堆heap
- stack是有结构的,每个区块按照一定次序存放,可以明确知道每个区块的大小
- heap是没有结构的,数据可以任意存放,因此,stack的寻址速度要快于heap
- 只要是局部的,占用空间确定的数据,一般是存放在栈中,否则放在堆里,所有对象都放在堆里面
function task() {var a = 1;var b = 2;var c = {name: 'zhufeng',age: 10}}task();

js的基本类型:
基本数据类型:null undefined string number boolean symbol
引用数据类型:Object Array Regex
js属于弱数据类型,不要明显的区分是存放在栈里还是堆里


