文档章节

js基础知识小结--变量、作用域

范小菜
 范小菜
发布于 2016/11/28 16:35
字数 452
阅读 2
收藏 0

第二章js 中的变量、作用域

2.1、js 中的变量:js中的变量可以用来保存两种类型的值:基本类型值(Undefined、Null、String、Number、boolean)与引用类型值。

1.基础类型值的特点:

  • 基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中;
  • 从一个变量向另一个变量复制值时,会创建这个值的副本,两个变量间的操作互不影响如图;

             

2.引用类型值的特点:

  • 引用类型的值是对象(object的实例),保存在堆内存中;
  • 包含引用类型值的变量实际上包含的并不是对象本身,而是一个指向该对象的指针;
  • 从一个变量向另一个变量复制引用类型值时,复制的其实是指针,因此两个变量最终指向同一个对象。两个变量之间的操作会相互影响如下图:

      

2.2、 js变量作用域:所有的变量都存在于一个执行环境(作用域)中,这个执行环境决定了变量的生命周期,以及那一部分代码可以访问其中的变量。

  • 执行环境有全局环境和函数执行环境之分;
  • 每次进入一个新的执行环境,都会创建一个用于搜索变量和函数的作用域链;
  • 函数的局部环境不仅有权访问自身作用域中的变量,而且有权访问其父环境乃至全局环境;
  • 全局环境只能访问全局环境中定义的变量或函数;
  • 变量的执行环境有利于确定合适释放内存。

© 著作权归作者所有

共有 人打赏支持
范小菜
粉丝 1
博文 10
码字总数 4644
作品 0
松江
你不知道的JavaScript·第一部分

第一章: 作用域是什么 1、 编译原理 JavaScript 被列为 ‘动态’ 或 ‘解释执行’ 语言,于其他传统语言(如 java)不同的是,JavaScript是边编译边执行的。 一段源码在执行前会经历三个步骤...

曾田生z
06/25
0
0
JavaScript核心概念归纳整理

原文出处: 熊俊漉 JavaScript语言本身是一个庞大而复杂的知识体系,复杂程度不低于任何一门后端语言,本文针对JavaScript语言的核心概念进行简单的梳理,对应的每个知识点仅仅点到为止,不作...

音乐宇Code
05/27
0
0
javascript深入理解js闭包

一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量...

Yamazaki
2012/06/15
0
0
学渣的模块化之路——50行代码带你手写一个common.js规范

一、简述 一个js文件就是一个模块 会自动把写的代码块套一层闭包 浏览器不兼容CommonJS的根本原因,在于缺少四个Node.js环境的变量.(module,export,require,global) 既然没有,我们就手写一个...

言sir
06/25
0
0
JavaScript 闭包究竟是什么

用JavaScript一年多了,闭包总是让人二丈和尚摸不着头脑。陆陆续续接触了一些闭包的知识,也犯过几次因为不理解闭包导致的错误,一年多了资料也看了一些,但还是不是非常明白,最近偶然看了一...

告别只是另一种体验
2014/12/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

day96-20180923-英语流利阅读-待学习

英国王子也不看好人工智能,理由却和霍金不同 Daniel 2018-09-23 1.今日导读 2016 年 3 月 9 日至 15 日,世界围棋冠军李世石与谷歌研发的计算机围棋程序 AlphaGo 进行人机大战并以 1 比 4 ...

飞鱼说编程
53分钟前
3
0
今天在码云遇到一个很有意思的人 for Per.js

今天在码云遇到一个很有意思的人,他在我的Per.js项目下面评论了一句,大意为“你试试这句代码,看看速度到底是你快还是Vue快”【当然,这个评论被我手残不小心删掉了...】。 然后我就试了,...

Skyogo
58分钟前
25
0
Java -------- 首字母相关排序总结

Java 字符串数组首字母排序 字符串数组按首字母排序:(区分大小写) String[] strings = new String[]{"ba","aa","CC","Ba","DD","ee","dd"}; Arrays.sort(strings); for (int i ...

切切歆语
今天
2
0
还在用 Git 的 -f 参数强推仓库,你这是在作死!

最近,美国一个程序员因为同事不写注释,代码不规范,最严重的是天天使用 git push -f 参数强行覆盖仓库,该程序员忍无可忍向四名同事开抢,其中一人情况危急!!! 不写注释、代码不规范是一...

红薯
今天
497
0
NPM报错终极大法

所有的错误基本上都跟node的版本相关 直接删除系统中的node 重新安装 sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*} 重新安装 $ n lts$ npm...

lilugirl
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部