Javascript 基于对象的内存管理

进程的概念

进程: 电脑端运行QQ,浏览器都会启动进程,占用内存。

以浏览器为例, 它的内存是如何分布呢?

常量池   性质:分配的内存区域都是永恒的。  常量有  数值1  2 3 4...  字符串"1"  布尔false true 字面量的表述法。

//大部分本地对象都有字面量的表书法

object对象   创建对象的一种方式 new Object()  // Object构造函数; 创建对象的一种方式   字面量 {}

function对象  创建对象的一种方式 new Function()  // Function构造函数; 创建对象的一种方式   字面量 function{}

array对象    创建对象的一种方式 new Array()  // Array构造函数    创建对象的一种方式  字面量 []

string对象    创建对象的一种方式  字面量 ""

boolean对象    创建对象的一种方式  字面量 false  true

number对象    创建对象的一种方式  字面量 1

Data对象    创建对象的一种方式  new Date()

RegExp对象    创建对象的一种方式  字面量 / /

ECMA-262-类(构造函数)

总结:在常量池中会给对象分配内存区域    常量    数值1    字符串"1"    布尔false true    number对象    string对象    array对象    通过字面量方式创建的对象都在里面分配内存区域。

栈    变量

堆    数据类型为Object的对象分配内存区域    object对象    array对象 []    null    function(特殊) function(){}


作用域    宿主环境window对象

全局作用域
作用域含义:作用域是指对某一个变量跟函数有访问权限
宿主环境window对象给我们提供了一个全局作用域,(可以自由访问window对象的属性和方法。)
1:全局环境下,定义的变量就是window对象的属性,在全局环境下定义的函数就是window对象的方法

2. 为Javascript所服务,提供一套公共的对象系统,允许javascript自由访问 

局部作用域

通过 function 申明局部作用域

全局变量

局部变量


变量的意义?

存储对象的内存地址


猜你喜欢

转载自blog.csdn.net/qiutiange1205/article/details/79561752