有关闭包的一些考题整理

03
六月
2021

实现一个foo函数

题目:

// 实现一个foo函数, 返回自身被调用的次数 可以这么使用:
a = foo();
b = foo();
c = foo();
// 此时  a 的值是1;b的值是2;c的值是3;
foo.reset();
d = foo(); // d的值是1, 说明foo重新开始计数;

答案:

 const foo = (function(){
    let counter = 1;
    function increase(){
        return counter++;
    }
    increase.reset = function() {
        counter = 1;
    }
    return increase;
})()

来源:

字节跳动二面

TAG

网友评论

共有访客发表了评论
请登录后再发布评论,和谐社会,请文明发言,谢谢合作! 立即登录 注册会员