一、对象的补充-栈堆
- 内存
- 用来运行数据的控件,内部有区分了不同的存储方式
- 栈:一般用来存储变量名和地址,空间小,稳定,不可修改
- 堆:一般用来存储数据,空间大,可被修改
- 关系:一一对应,多对一,不能一对多
- 存取规则:
- 栈:先进后出:杯子
- 堆:先进先出:掉底的杯子
- 用来运行数据的控件,内部有区分了不同的存储方式
- 数据类型的分类
- 基本类型(值传递)
- 数据就在栈中
- 不存在深浅拷贝,默认就是深拷贝
- 引用类型(引用传递的数据)
- 栈中只保存了一个地址,地址指向堆中的某个数据
- 存在深浅拷贝,默认是浅拷贝
- 目前会有一些影响
- 如何实现深拷贝?
- for-in遍历属性
- 基本类型(值传递)
二、全局对象window和this
- window
- 全局对象,所有的全局内容,都可以在window身上找到
- 一般情况下,window可以被省略
- this
- 函数内的关键字
- 表示当前函数的执行上下文(执行对象)
- 谁执行了this所在的函数,this就是谁