JS高级程序设计笔记(二):变量、作用域和内存
来源:互联网 发布:表白失败知乎 编辑:程序博客网 时间:2024/06/05 20:28
参数
JS中的参数传值都是按值来传递,无论是基本类型还是引用类型的变量。
如果是基本类型的参数,则值会复制一份给命名参数/arguments对象。
如果是引用类型的值则会把该值在内存中的地址复制一份给参数/arguments对象,此时该局部变量(函数的参数实际上是一个局部变量)的变化会反应在函数外部,因为操作的是同一个对象。
变量类型检测
使用typeof
操作符可以检测出基本类型,除了null
会返回object
。
此外,检测方法会返回function
,除此以外的引用类型都是返回object
。
基本类型的数据其大小是固定的,保存在粘中;引用类型的数据保存在堆中。
作用域
所有的变量都存在于一个执行环境(作用域)中。每当进入一个新的执行环境,都会创建一个作用域链。作用域链保存了变量对象(保存了可访问的属性和方法)的引用,保证了标识符的有序搜索。
全局变量在使用完毕后最好进行引用解除,即obj = null
。以便垃圾收集器在下次运行的时候回收内存。
访问一个未声明的变量会报错:ReferenceError: num is not defined。而访问对象不存在的属性返回的是undefined
。
通常对必填参数使用命名参数形式,而对可选参数使用对象字面量来封装。
0 0
- JS高级程序设计笔记(二):变量、作用域和内存
- 《js高级程序设计》学习笔记--4.变量、作用域和内存问题
- JavaScript高级程序设计笔记-变量、作用域和内存问题
- JavaScript高级程序设计学习笔记——变量、作用域和内存问题(重要)
- JS高级程序设计4-变量、作用域、和内存的问题
- javascript高级程序设计学习笔记——第四章 变量、作用域和内存问题
- JavaScript高级程序设计2--变量、作用域和内存问题
- 《JavaScript 高级程序设计》书摘----变量、作用域和内存
- javascript高级程序设计(变量、作用域和内存问题)
- JavaScript高级程序设计之变量、作用域和内存问题之执行环境及作用域第4.2讲敏敏笔记
- 《javascript高级程序设计》读书笔记(三)变量、作用域和内存问题
- js高级教程阅读笔记 第四章-变量作用域和内存问题
- JavaScript高级程序设计之变量、作用域和内存问题之垃圾收集第4.3讲敏敏笔记
- Javascript高级程序设计第二版第四章--变量,作用域及内存问题--笔记
- JavaScript高级程序设计 第四章 — 变量、作用域和内存问题
- 《JavaScript高级程序设计》读书笔记--4-变量、作用域和内存问题
- 《JavaScript高级程序设计》总结 第四章 变量、作用域和内存问题
- javascript高级程序设计第三版 第四章 变量、作用域和内存问题
- Spring MVC 学习笔记1:Spring 框架
- 补全默认Tableview的cell分割线最前面15的空缺
- c 指针与首地址
- Java与MySQL之间的连接
- 同余方程 ax≡1(mod b) & POJ 1061 青蛙的约会
- JS高级程序设计笔记(二):变量、作用域和内存
- TextView内容不换行问题
- C#控制台基础 file与filestream读取文件的区别
- 分布式架构--基本思想汇总
- java简单读出和写入txt文件
- Vert.x 核心模块 HTTP websocket(十一【6】)
- 利用AJAX在登录时判断用户名是否存在
- 第四章 JAVA基础之clone方法
- [09]-小而美