javascript高级程序设计第四章总结

1、ECMAScipt包含2种数据类型,基本数据类型和引用数据类型

2、基本类型的复制,是直接复制变量,形成2个独立的值,互不影响

3、引用类型的复制,复制一个指针指向对象,导致2个指针指向同一个对象,所以一个变量改变会导致另一个对象的变化

var obj1=new object();
var obj2=obj1;
obj1.name="AA";
alert(obj2.name);  //"AA"

4、传递函数

function addTen(num)
{
    num+=10;
   return num;  
}
var count=20;
var result=addTen(count);
alert(count);   //20; 没有变化
alert(result);  //30

5、 基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中

6、确定一个值是哪种基本类型可以用typeof操作符,而确定一个值是哪种引用类型可以使用instanceof操作

7、执行环境有全局执行环境和函数执行环境之分。

8、函数的局部环境不仅有权访问函数作用域中的变量,而且有权访问其包含(父)环境,乃至全局环境

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

10、离开作用域的值将被自动标记为可回收。因此将在垃圾收集期间被删除。

11、“标记清除”是最主流的垃圾收集算法,将当前不使用的值加上标记,然后再回收其内存

12、“引用计数”跟踪记录所有值被引用的次数,在代码中有循环引用现象时,这种算法就会出现问题

原文地址:https://www.cnblogs.com/yuyu9988/p/3354504.html