将函数作为返回值返回有什么好处?

如题:经常见到别人写代码 喜欢将函数作为返回值返回出来

    var res = test()
    console.log((res.next())())    function test() {
        var a = 10;        return {            next(){                return function () {                    return a+1
                }
            }
        }
    }

我觉得这样写就能解决问题:

var res = test()console.log(res)function test() {    var a = 10;    return a+1}

请问第一种写法有什么好处?有什么使用场景?


慕村9548890
浏览 617回答 2
2回答

斯蒂芬大帝

这样可以作为闭包使用,a的值永远是运行后的值。不过也挺奇怪的,为什么next中还要再返回一个function,其实只需要返回next就行了
打开App,查看更多内容
随时随地看视频慕课网APP