理解Javascript_01_理解内存分配

  在正式开始之前,我想先说两句,理解Javascript系列博文是通过带领大家分析Javascript执行时的内存分配情况,来解释Javascript原理,具体会涵盖Javascript预加载,闭包原理,面象对象,执行模型,对象模型...,文章的视角很特别,也非常深入,希望大家能接受这种形式,并提供宝贵意见。 

  原始值和引用值

  在ECMAScript中,变量可以存放两种类型的值,即原始值和引用值。原始值指的就是代表原始数据类型(基本数据类型)的值,即Undefined,Null,Number,String,Boolean类型所表示的值。引用值指的就是复合数据类型的值,即Object,Function,Array,以及自定义对象,等等。 

  栈和堆

  与原始值与引用值对应存在两种结构的内存即栈和堆。栈是一种后进先出的数据结构,在Javascript中可以通过Array来模拟栈的行为

var arr = []; //创建一个栈arr.push("apple");//压入元素"apple"	["apple"]arr.push("orange");//压入元素"orange"	["apple","orange"]arr.pop();//弹出"orange"		["apple"]arr.push("banana");//压入元素"banana"	["apple","banana"]

it知识库理解Javascript_01_理解内存分配,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。