ES5简答题 20道

  1. 闭包是什么 闭包的优点和缺点是什么?
函数内部 return 返回的是一个函数
优点:外部可以访问内部变量,变量不会被污染
缺点:变量不会被释放,造成内存泄漏
  1. 什么是作用域
作用域:变量的运行环境
  1. 什么是作用域链
[[scope]]:每个javascript函数都是一个对象,对象中有些属性我们可以
访问,但有些不可以,这些属性仅供javascript引擎存取,[[scope]]就
是其中一个。[[scope]]指的就是我们所说的作用域,其中存储了运行期
上下文的集合。即作用域决定了代码区块中变量和其他资源的可见性。
作用域与作用域之间 通过scope  连接  从而形成了作用域链
scope  是一个数组  存放所有使用的变量
  1. 如何解决闭包导致内存泄露呢?
可以利用垃圾回收机制中标记清除法:
在满足条件时:将引用函数的变量 赋值为null,做到零引用
立即执行函数:因为立即执行函数为零引用
  1. 从作用域的角度说一下 为什么闭包中外部可以访问内部的函数变量
外部  接收了 内部 return的函数,实际上变量存的是函数的指针,
return 返回的函数,是函数的子作用域,作用域之间可以
通过scope连接&#x
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值