变量、作用域和内存问题
来源:互联网 发布:java重载与多态 编辑:程序博客网 时间:2024/05/19 13:42
js里的变量包括基本类型和引用类型,基本类型存储在栈中,引用类型的引用(指针)存储在栈中,数据存储在堆中。(对象数据大,占内存多,不宜存储在栈,会影响性能。引用类型访问数据通过栈的指针访问)基本类型不能动态添加属性,引用类型可以。## 复制变量值 ##var num1=5;var num2=num1;基本类型的复制是值复制,即num2=5中的5与num1不一样;var obj=new Object();var obj2=obj1;引用类型的复制是把保存在栈的引用复制,产生一个副本,同时这个副本指向堆中同一对象。(同一对象的不同引用)。在我理解,说到底就是**栈中数据的复制**。## 传参 ##值传递。(栈中的值,如同变量的复制一样)。## 检测类型 ##检测基本数据类型的值:typeof检测引用类型的值:instanceof(a instanceof b),typeof(返回object)。## 执行环境及作用域(context) ##全局执行环境:window对象。执行到某个函数时,将函数的执行环境推入环境栈,执行完毕,再从栈弹出,然后把控制权返回给之前的执行环境。作用域链:简单理解就是当前执行环境可访问当前执行环境乃至上层执行环境的变量和函数。## js中没有块级作用域 ##if(true){ var num=1;}alert(num);//1ES6用let可以限制其作用域在块级中let num## 垃圾回收 ##自动垃圾回收机制有时候数据不再有用,可设置为null,可解除引用,脱离执行环境,方便垃圾回收期下次执行时回收。
2 0
- js变量、作用域和内存问题
- 四、变量、作用域和内存问题
- 变量、作用域和内存问题
- 变量、作用域和内存问题
- 变量、作用域和内存问题
- js变量作用域和内存问题
- 23. 变量、作用域和内存问题
- 变量、作用域链和内存问题
- 变量、作用域和内存问题
- 【JavaScript】变量、作用域和内存问题
- JavaScript 变量、作用域和内存问题
- JavaScript-变量、作用域和内存问题
- 变量、作用域和内存问题
- 变量、作用域和内存问题
- javaScript 变量 作用域和 内存问题
- Javascript变量、作用域和内存问题
- JavaScript变量、作用域和内存问题
- 变量、作用域和内存问题
- jdk源码解读-并发包-Lock-ReentrantLock(1)--lock()与unlock()方法走读
- 【70】Climbing Stairs
- 信号---信号的阻塞
- 四、用servlet类返回WEB-INF中的页面
- 像“钢铁侠”埃隆·马斯克那样,成为超速学习者
- 变量、作用域和内存问题
- Redhat7.0下搭建邮件服务器(二)
- 把排序数组转换为高度最小的二叉搜索树
- MAC OS 运行hadoop提示util.NativeCodeLoader: Unable to load native-hadoop library for your platform的解决
- 二叉树的路径和
- JDK1.7源码笔记之LinkedList类
- [2017.4.18]IMWEB前端小白训练营日记(四)
- 李开复解读:未来人工智能的巨大商机
- slidingmenu_library侧滑实现