js基础知识小结--变量、作用域
2016-11-28 00:00
302 查看
摘要: js中基本类型
1.基础类型值的特点:
基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中;
从一个变量向另一个变量复制值时,会创建这个值的副本,两个变量间的操作互不影响如图;
![](https://static.oschina.net/uploads/space/2016/1128/160907_iQkK_2877262.png)
2.引用类型值的特点:
引用类型的值是对象(object的实例),保存在堆内存中;
包含引用类型值的变量实际上包含的并不是对象本身,而是一个指向该对象的指针;
从一个变量向另一个变量复制引用类型值时,复制的其实是指针,因此两个变量最终指向同一个对象。两个变量之间的操作会相互影响如下图:
![](https://static.oschina.net/uploads/space/2016/1128/163104_dnRA_2877262.png)
2.2、 js变量作用域:所有的变量都存在于一个执行环境(作用域)中,这个执行环境决定了变量的生命周期,以及那一部分代码可以访问其中的变量。
执行环境有全局环境和函数执行环境之分;
每次进入一个新的执行环境,都会创建一个用于搜索变量和函数的作用域链;
函数的局部环境不仅有权访问自身作用域中的变量,而且有权访问其父环境乃至全局环境;
全局环境只能访问全局环境中定义的变量或函数;
变量的执行环境有利于确定合适释放内存。
第二章js 中的变量、作用域
2.1、js 中的变量:js中的变量可以用来保存两种类型的值:基本类型值(Undefined、Null、String、Number、boolean)与引用类型值。1.基础类型值的特点:
基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中;
从一个变量向另一个变量复制值时,会创建这个值的副本,两个变量间的操作互不影响如图;
![](https://static.oschina.net/uploads/space/2016/1128/160907_iQkK_2877262.png)
2.引用类型值的特点:
引用类型的值是对象(object的实例),保存在堆内存中;
包含引用类型值的变量实际上包含的并不是对象本身,而是一个指向该对象的指针;
从一个变量向另一个变量复制引用类型值时,复制的其实是指针,因此两个变量最终指向同一个对象。两个变量之间的操作会相互影响如下图:
![](https://static.oschina.net/uploads/space/2016/1128/163104_dnRA_2877262.png)
2.2、 js变量作用域:所有的变量都存在于一个执行环境(作用域)中,这个执行环境决定了变量的生命周期,以及那一部分代码可以访问其中的变量。
执行环境有全局环境和函数执行环境之分;
每次进入一个新的执行环境,都会创建一个用于搜索变量和函数的作用域链;
函数的局部环境不仅有权访问自身作用域中的变量,而且有权访问其父环境乃至全局环境;
全局环境只能访问全局环境中定义的变量或函数;
变量的执行环境有利于确定合适释放内存。
相关文章推荐
- js基础--javascript基础概念之变量与作用域
- Vue.js基础知识小结
- Node.js学习--基础知识(8)--全局对象和全局变量
- JS基础知识小结
- 第11天:JS中变量、字符串基础知识
- JS基础知识(作用域/垃圾管理)
- JS基础知识小结
- JS基础知识(上)(变量,条件判断语句,循环语句,函数,对象,数组)
- node.js基础知识小结
- H5基础知识第十一课时(JS解决变量自提升问题)
- H5基础知识第八课时(JS使用方式与变量的声明)
- js 的基础知识变量
- js变量类型基础知识整理
- java基础知识小结之关于环境变量,标识符和整型值的三种交换形式
- 用《叩响C#之门》复习C#基础知识 第二章 变量
- oracle基础知识小结
- JavaScript 入门基础知识 想学习js的朋友可以参考下
- JavaScript 入门基础知识 想学习js的朋友可以参考下
- js的一些基础知识
- Js整理备忘(06)——函数基础(二) 作用域与闭包