您的位置:首页 > Web前端 > JavaScript

javascript高级程序设计第四章 变量、作用域和内存问题

2015-06-16 15:44 579 查看
变量包含两种,,基本类型和引用类型

  基本类型是指一些简单的字段;

  引用类型是☞由多个值构成的对象 引用类型的值是保存在内存中的对象,在javascript中是不允许直接访问内存中的位置;

  函数的参数是按照值类型进行传递的,函数的参数可以看作是一个局部变量。

  检测类型:

    typeOf 用来检测基本类型的值用处大,在检测引用类型的值得时候用处不是很大 检测到的Null类型返回结果为Object,

    insctanceof 用来检测引用类型的值,当检测的对象是引用类型的值或者Object时返回true用来检测基本类型是返回flase。

执行环境和作用域:

  子集找不到的变量会向上进行搜索,子集可以访问父级的变量,父级不能访问子集的变量,在严格模式下未使用var声明的变量会报错;

在javascript中没有块级作用域,没有经过var声明的变量会当做全局变量来处理,但严格模式下会报错;

垃圾回收机制

  在javascript中不用程序员之际来管理内存,当一个变量没有被引用时,垃圾回收机制就会将该变量的内存收回,垃圾回收机制采用的是“标记清除”机制,使用“计数”机制会有BUG

当两个变量相互引用时,使用“计数”机制将会使两个变量不能被回收,当一个变量不使用时,最好将该变量复制为Null,这样当回收机制执行时,就会将该变量的内训收回;

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: