Javascript 如何计算参数

Javascript 如何计算参数,javascript,function,Javascript,Function,如果var x=func(5),则var func=dowork(?) 您如何计算“?” 第2行不是没有定义y吗?让我们一次处理一点 function doWork() { return function calculate(y) { return y + 1; } } var func = doWork(); var x = func(5); document.write(x); 此函数存储并返回一个名为calculate的嵌套函数 functio

如果var x=func(5),则var func=dowork(?)
您如何计算“?”


第2行不是没有定义y吗?让我们一次处理一点

function doWork() {  
  return function calculate(y) {
     return y + 1;
  }  
}  

var func = doWork();  
var x = func(5);  
document.write(x);  
此函数存储并返回一个名为calculate的嵌套函数

function doWork() {

}
Calculate接受一个参数,在这种特殊情况下,它被解析为一个整数,只需加1并返回它。在这种情况下,如果我执行了
console.log(calculate(4))
我将收到数字5,因为我正在解析我的值,在函数中将它引用为“Y”,添加1并简单地返回它

然后我们将函数
doWork()
存储在变量
func

然后将变量
func
存储到变量
x
中,但是请注意,当我们调用
var x=func(5)
时,我们是如何解析数字5的,因为我们已经将它解析到函数
doWork()
中,我们可以在嵌套和返回的
calculate
函数中访问它


我们可以调用
var x=func(/*任何我们喜欢的整数*/)
,它将简单地返回嵌套函数,其中包含整数加1。

doWork返回一个函数。它存储在func中。然后使用func(参数)进行计算。您可以展开您的问题吗?可能重复的问题您可以澄清您的问题吗?您只需删除嵌套函数并调用
计算(此处为整数)
。这将帮助您更容易理解。或者func()=doWork(),因为您已将func设置为等于doWork(),当您调用func时,它将运行函数doWork。这可能会给你一个更好的解释。
function doWork() {
    return function calculate(y) {
         return y + 1;
    }
}