变量,作用域,内存

变量,作用域,内存
1,原始值和引用值:基本数据类型值在栈区,引用数据类型栈区是一个地址,值储存在堆区
2,涉及问题:深拷贝与浅拷贝
深拷贝npm i -save lodash,安装clonedeep
方法一:将引用类型下所有的数据全部递归复制一遍
方法二:cloneDeep:深拷贝函数
import _ from ‘lodash’
this.dataList = _.cloneDeep(res.data);

浅拷贝
let arr = [1,2,3,4];
let arr1 = […arr];

let arr2 = arr;
3,基本类型用 typeof关键字检测;引用类型用instanceof 检测。
4,执行上下文和作用域:用途是: 保证(对执行环境有权访问的)所有变量和函数的有序访问。
1)每个上下文都有一个关联的变量对象。
2)上下文代码执行的时候会创建变量对象的作用域链。作用域链决定了各级上下文中的代码在访问变量和函数的顺序。
3)如果上下文是函数,则其活动对象用作变量对象。
作用域链的前端,始终都是当前执行的代码所在环境的变量对象。如果这个环境是函数,则将其活动对象(activation object)作为变量对象(即arguments对象)。
作用域链中的下一个变量对象来自外部环境(有可能还是函数),而再下一个变量对象同样来自下一个外部环境,一直延续到全局执行环境(最后一个变量对象)。
JS的变量, 就根据作用域链来查找, 如果一直到全局环境都找不到,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值