每日两道前端面试题(第一天)

一、JavaScript 的作用域的理解。什么是作用域链?

  在JavaScript中有两种作用域类型

1.局部作用域:只能在函数内部访问它们

2.全局作用域:网页的所有脚本和函数都能访问它

JavaScript 拥有函数作用域:每个函数创建一个新的作用域。

作用域决定了这些变量的可访问性(可见性)。

函数内部定义的变量从函数外部是不可访问的(不可见的)。

作用域链:
当查找变量的时候,会先从当前上下文的变量对象中查找,
如果没有找到,就会从父级(词法层面上的父级)执行上下文的变量对象中查找,一直找到全局上下文的变量对象,也就是全局对象。
这样由多个执行上下文的变量对象构成的链表就叫做作用域链

二、对闭包的理解?

        1.什么是闭包?

函数嵌套函数,被嵌套的函数称为闭包函数

        2.闭包的作用?

可以在函数外部访问函数内部局部变量,该变量不会随着函数调用完毕而销毁,提高了局部变量的生命周期

        3.闭包怎么实现?

在父函数定义的局部变量,在子函数中操作,将子函数作为父函数的返回值,通过全局变量返回子函数

        4.闭包的缺陷?

虽然延长了局部变量的生命周期,但是大量使用多了会造成内存泄漏

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值