【校招VIP】前端JS语言之闭包相关

考点介绍:

闭包随处可见,一个 Ajax 请求的成功回调,一个事件绑定的回调方法,一个 setTimeout 的延时回调,或者一个函数内部返回另一个匿名函数,这些都是闭包。简而言之,无论使用何种方式对函数类型的值进行传递,当函数在别处被调用时,都有闭包的身影。

本期分享的前端JS语言之闭包相关,分为试题、文章以及视频三部分。

答案详情解析和文章内容点击下方链接即可查看!

一、考点题目

1、有以下函数,这3个函数中哪个能够访问外部范围变量?

clickHandler,immediate和delayedReload:

let countClicks = 0;

button.addEventListener('click', function clickHandler() {

  countClicks++;

});

const result = (function immediate(number) {

  const message = `number is: ${number}`;

  return message;

})(100);

setTimeout(function delayedReload() {

  location.reload();

}, 1000);

解答:clickHandler 能够从外部作用域访问变量 countClicks......

2、闭包的缺点

解答:优点也是缺点,本应被销毁的变量,因为闭包的原因没有被销毁,长期存在的话,容易造成内存泄漏

3、分析输出是什么

function test (){
    var num = [];
    var i;
  
    for (i = 0; i < 10; i++) {
        num[i] = function () {
            console.log(i);
        }
    }
  
    return num[9];
}
  
test()() // 输出什么?

解答:这道题中首先执行test(),这个函数中进行了十次循环,每次循环都往数组num中新增一个function(这个function这里还没有执行,只是把函数的定义作为数组元素扔进去),最后返回下标为9的这个function.....

4、创建匿名函数表达式

解答:创建一个变量,这个变量的内容为一个函数.....

(答案点击下方链接查看哦)

二、考点文章

1、闭包,看这一篇就够了——带你看透闭包的本质

闭包:内部函数总是可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数被返回(寿命终结)了之后……

2、JS前端闭包是什么?私有变量可以用到闭包

百度百科定义:闭包就是能够读取其他函数内部变量的函数。创建闭包的通常方式,是在一个函数内部创建另一个函数……

3、【校招VIP】前端之JS闭包

闭包让你可以在一个内层函数中访问到其外层函数的作用域。在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来……

(点击下方链接查看完整版)

三、考点视频

1、实现一个栈,需要有pop、push和min方法

本题题目有补充,就是min方法的时间复杂度最低。当然min方法也是这道题的最主要考点……

更多资讯可搜索校招VIP小程序查看哦!
移动端链接:https://m.xiaozhao.vip/dTopic/detail/546
PC端链接:校招VIP,专题 - 校招VIP

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值