|
在正式开始之前,我想先说两句,理解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_理解内存分配,转载需保留来源!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。