有人可以向我解释为什么第二个函数chunk_size
需要返回第二个函数x2()
才能返回变量f()
吗?为什么不工作在声明之后只返回pp
?
pp
答案 0 :(得分:1)
在您的情况下,x2
返回一个保存pp
值的函数,而不是该函数的结果。 x2
实际上是闭包的示例,您可以在这里Javascript Closures
如果您实际上想从初始调用x2
返回结果,请进行以下更改:
function x2() {
var pp = 20;
function f() {
return pp;
}
return f();
}
答案 1 :(得分:0)
而不是返回函数f,请尝试将其留给自己:例如,
function x2() {
var pp = 20;
return function () {
return pp;
}
}
console.log(x2())
console.log(x2()())
如果您要这样做,这将使x2()()起作用。