第4章 变量、作用域和内存问题
JavaScript高级程序设计第四章知识点梳理
1、基本类型值和引用类型值
基本类型值包括:Boolean、String、undefined、Number、Null
引用类型值:Object
注意:ECMAScript中所有函数的参数都是按值传递的。
2、延长作用域链
当执行流进入下列任何一个语句时,作用域链就会得到加长。
(1)try-catch语句的catch块;
(2)with语句
注意:JavaScript中没有块级作用域。
3、垃圾收集
垃圾收集的两种策略:(1)标记清除(2)引用计数
标记清除是目前主流的垃圾收集算法,这种算法的思想是给当前不使用的值加上标记,然后再回收其内存。
引用计数算法的思想是跟踪记录所有值被引用的次数。JavaScript引擎目前都不再使用这种算法;但在IE中访问原生JavaScript对象(如DOM元素)时,这种算法仍然可能会导致问题。
针对上述问题,可以使用解除变量的引用来解决。解除变量的引用不仅有利于消除循环引用现象,而且对垃圾收集也有好处。为了确保有效地回收内存,应该及时解除不再使用的全局对象。全局对象属性以及循环引用变量的引用。
转载于:https://www.cnblogs.com/sherryStudy/p/charpter_four.html
第4章 变量、作用域和内存问题相关推荐
- 读书笔记 - js高级程序设计 - 第四章 变量 作用域 和 内存问题
5种基本数据类型 可以直接对值操作 判断引用类型 var result = instanceof Array 执行环境 每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对 ...
- JavaScript高级编程设计(第三版)——第四章:变量作用域和内存问题
系列文章目录 第二章:在html中使用javaScript 第三章:基本概念 第四章:变量作用域和内存问题 第五章:引用类型 目录 系列文章目录 前言 一.基本数据类型和引用类型的值? 1.数据类型 ...
- JavaScript高级程序设计 第四章---变量 作用域 内存
第四章-变量 作用域 内存 关键字:变量 作用域 内存 本章内容 通过变量使用原始值与引用值 理解执行上下文 理解垃圾回收 4.1 原始值与引用值 ECMAScript 变量可以包含两种不同类型的数据 ...
- JavaScript变量作用域和内存问题(js高级程序设计总结)
1,变量 ECMAScript和JavaScript是等同的吗?个人认为是否定的.我的理解是这样的,ECMAScript是一套完整的标准或者说协议,而JavaScript是在浏览器上实现的一套脚本语言 ...
- JavaScript高级程序设计笔记 - 第四章 变量 作用域 内存问题
4.1 基本类型和引用类型的值 基本类型: 简单的数据段 引用类型: 指那些可能有多个值构成的对象, 指保存在内存中的对象 4.1.2 复制变量值 除了保存的方式不同之外,在从一个变量向另一个变量复制 ...
- 变量,作用域,和内存问题
js 变量是松散类型的本质,决定了它只是在特定时间内用于保存特定值的一个名称而已. 基本类型 栈内存中的简单数据段 5种 underfined Null Boolean Number String.固 ...
- js基础之--变量 作用域和内存问题
基本类型:Undefind Null Boolean Number String 引用类型: 对象 在操作对象时,实际上实在操作对象的引用而不是实际的对象.为此,引用类型的值是按引用访问的. 从一个变 ...
- 《JavaScript高级程序设计(第四版)》红宝书学习笔记(2)(第四章:变量、作用域与内存)
个人对第四版红宝书的学习笔记.不适合小白阅读.这是part2.持续更新,其他章节笔记看我主页. (记 * 的表示是ES6新增的知识点,记 ` 表示包含新知识点) 第四章:变量.作用域与内存 4.1 原 ...
- 2020.11.4 《JavaScript高级教程》 第四章 变量、作用域和内存问题 第五章 引用类型(对象 数组 date function)
第四章 变量,作用域和内存问题 基本类型和引用类型的区别 1.基本类型不能直接添加属性 引用类型可以直接添加属性: var person = new object();person.name = &q ...
- jsp:param能不能传递变量_变量、作用域与内存
不要老叹息过去,它是不再回来的;要明智地改善现在.要以不忧不惧的坚决意志投入扑朔迷离的未来. 文章目录 变量.作用域与内存 前言 相比于其他语言,JavaScript 中的变量可谓独树一帜.正如 EC ...
最新文章
- cloudemanager安装时出现ProtocolError: ProtocolError for 127.0.0.1/RPC2: 401 Unauthorized问题解决方法(图文详解)...
- SELinux与强制访问控制系统应用
- 合格SEOER应该具备的能力
- kmp oj 亲和串
- python在人工智能应用锁_python实现人工智能Ai抠图功能
- android 表格xml,【Android】利用表格布局,Android中xml文件与java的交互制作登录界面...
- markdown 本地链接_markdown多平台发布及七牛图床使用
- json ajax查询,jQuery AJAX和JSON性能查询
- dnn神经网络_Facebook AI新研究:可解释神经元或许会阻碍DNN的学习
- py12306 购票助手
- 怎样让计算机默认记事本格式,电脑记事本怎么改格式
- 公司办公用品管理软件(AssetManage 2011) v11.0.3破解版
- 【微信公众号-订阅号发送群发消息】
- MySQL8.0软件安装失败常见问题
- 科普下Tier1,Tier2,Tier3,Tier4 T1, T2, T3, T4
- 制动计算机,一种基于摩擦制动的计算机主机底座
- 笔记本硬盘调研 更换及启动盘设置
- Java高级编程9-姜国海 网络应用编程
- 读书笔记 - javascript设计模式和开发实践
- 搞定分布式系列:缓存 热key 问题解决方案