首页 > 其他 > 详细

变量的作用域及内存

时间:2016-03-07 18:58:53      阅读:183      评论:0      收藏:0      [点我收藏+]

一、变量及作用域

1、基本类型和引用类型

ECMAscript变量可能包含两种不同的数据类型的值:

基本类型指的是那些保存在栈内存的简单数据段,即这种值完全保存在内存的的一个位置,而引用类型的值则是指那些保存在堆内存中的对象,意思是变量中保存的实际上只是一个指针,这个指针指向内存中的另一个位置,该位置保存对象。

基本类型值有以下几种:Underfined、Unll 、Boolean、Number、String.这些类型在内存中分别占用固定大小的空间,他们的值保存在栈空间,我们通过按值来访问。

(1)引用类型的变量可以添加属性,而基本类型不能添加属性。

(2)在复制变量的方面,基本类型复制值的本身(复制的值和一前的值是两个独立的,也就是说,两个变量分别操作互不影响),而引用类型复制的是地址(因为指向同一个object,所以改了任何一个变量的值,都会改变)。

2、传递参数

ECMAscript中所以函数的参数都是按值传递的,言下之意就是说,参数不会按引用传递,虽然变量有基本类型和引用类型之分。

3、执行环境及作用域

执行环境定义了变量或函数有权访问的其他数据,决定了它们的行为。全局执行环境是最外围的执行环境。在Web浏览器中,全局执行环境被认为是window对象。

if语句for语句得花括号都没有作用域的作用。

变量的作用域及内存

原文:http://www.cnblogs.com/yuanjia/p/5251439.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!