老师,为什么这段代码执行完以后f1是undefined?

来源:16-9 作用域和闭包--闭包-代码演示

Ecomools

2018-09-06

        function F1() {
            var a = 100
            return function () {
                console.log("a:"+a)
            }
        }
        function F2(f1) {
            var a = 200
            console.log("f1:"+f1())
        }
        var f1 = F1()
        F2(f1)


写回答

3回答

双越

2018-09-06

在你给的代码的第四行下面再加一行:return 100;

试试


0
0

双越

2018-09-06

在你给的代码的第四行下面再加一行:return 100;

试试

0
0

双越

2018-09-06

在“console.log("a: " + a)”这一行下面再加一行:return 100; 试试

0
4
双越
回复
夕落呀
对的,要 return 一个值才行
2019-01-06
共4条回复

BAT大牛带你横扫初级前端JavaScript面试(第二版)

BAT高级前端工程师亲授,结合真实面试题,提高面试成功几率

4268 学习 · 817 问题

查看课程