堆和栈这两个字我们已经接触多很多次,那么具体是什么存在栈中什么存在堆中呢?就拿JavaScript中的变量来说:
首先JavaScript中的变量分为基本类型和引用类型。
基本类型就是保存在栈内存中的简单数据段,而引用类型指的是那些保存在堆内存中的对象。
基本类型有Undefined、Null、Boolean、Number 和String。
引用类型,值大小不固定,栈内存中存放地址指向堆内存中的对象。
下面举一个堆内存的例子
function abc(num) { if(num > 3) { abc(--num); } document.writeln(num); } abc(5);
//输出的结果是3,3,4
//这个输出方式像队列,后进的先输出来了。。