You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于doWork函数参数计算及变量y是否未定义的技术咨询

让我一步步帮你拆解这两个问题:

1. var func = doWork(?) 中的问号部分该怎么处理?

先看doWork函数的定义:function doWork() { ... } —— 它没有声明任何形参,也就是说调用它的时候根本不需要传递任何参数。

原代码里var func = doWork()就是正确的写法,这里的问号位置不需要填任何值。哪怕你硬传一个值进去(比如doWork(123)),doWork函数内部也不会用到这个参数,它依然会返回内部的calculate函数,对后续func(5)的执行没有任何影响。

简单说:问号部分啥都不用填,直接写doWork()就对了。

2. 代码第2行的变量y是否未定义?

完全不是!这里的y是内部函数calculate的形参,当你调用func(5)的时候,这个5就会被自动赋值给y——相当于在calculate函数执行时,y已经被声明并赋予了明确的值。

你可以把function calculate(y) { return y + 1; }理解成等价于:

function calculate() {
  const y = arguments[0]; // 这里的arguments[0]就是调用时传入的5
  return y + 1;
}

所以在函数执行过程中,y是有合法值的,不存在未定义的问题。

内容的提问来源于stack exchange,提问作者IZZLIEDAT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:24:33