js学习笔记1(变量作用域内存)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js学习笔记1(变量作用域内存)相关的知识,希望对你有一定的参考价值。

写在前面,舍弃叽叽歪歪,只做学习笔记,认真踏实。

学习书籍:javascript高级程序设计3版。

章节4.1 基本类型和引用类型

1、基本类型在内存中占据固定大小的空间,所以保存在栈内存中。

2、从一个变量向另一个变量复制基本类型的值的时候,会在栈中保存另一个副本。

3、引用类型的值是对象,保存在堆内存中。

4、包含引用类型的值的变量,包含的不是对象本身,而是指向该对象的在堆内存中的位置的指针。

5、确定一个值是哪一种基本类型,可以用typeof。确定一个对象是哪一种引用类型,可以使用instanceof。

 

4.3 变量的执行环境

每一个变量都存在于一个执行环境中,这个执行环境决定了变量的生命周期。

1、执行环境分为:全局环境和函数环境

2、每次进去一个新执行的环境,都会创建一个用于搜索变量和函数的作用域链

3、函数的局部环境不仅有权访问函数作用域中的变量,而且有权访问包括父环境,和全局环境。

4、全局环境中的变量只能访问全局环境中定义的函数和变量,不能访问局部环境中的任何数据。

5、一旦数据不再被使用,可以将其的值设置为null,来释放引用。

6、解除引用并不代表会收回数据所占的内存,而是让值脱离执行环境,在下一次垃圾运行机制执行的时候将其收回。

 

章节5 引用类型

1、引用类型的值(对象)是引用类型的一个实例。引用类型有时候也被称为对象定义,描述一类对象所具有的属性和方法。

2、对象是某个特定引用类型的实例,新对象,由new 后跟一个构造函数来创建 var person = new objec();   等价于:var person = {};

 

5.1 object的类型

1、创建object实例的方式有两种:第一种是 new 一个构造函数;

第二种是使用对象字面量表示法。对象字面量是对象定义的一种简写的形式,目的在于简化创建含有大量属性的对象的过程。

var person = {name:"sheena",age:18};

 

5.2 array的类型

var  colors = new Array("red","blue","yellow");

5.3 转换方法

valueOf();   toString(); toLocalString();

5.4 排序

sort();比较

reverse();反过来排列

var count = [5,7,2,4,9];count.sort();alert(count);

 

以上是关于js学习笔记1(变量作用域内存)的主要内容,如果未能解决你的问题,请参考以下文章

读书笔记 - js高级程序设计 - 第四章 变量 作用域 和 内存问题

JavaScript学习笔记五:变量作用域和内存问题

JavaScript学习笔记—— 4. 变量作用域和内存问题

js学习笔记01-函数,作用域,闭包

JavaScript作用域学习笔记

js学习笔记之作用域链和闭包