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

如何在JavaScript中调用嵌套函数?请求代码问题排查指导

解决嵌套函数调用的问题

嘿,我来帮你搞定这个小问题~

你现在的代码之所以会出错,核心原因是:myFunction内部定义了play函数,但它执行完后没有返回任何包含play方法的内容,默认返回的是undefined。你试图调用myFunction().play(2,3),就相当于在undefined上访问play方法,这肯定会抛出错误的。

给你两种简单的修正方案:

方案一:让myFunction返回包含play方法的对象

这是最贴合你调用写法的方式,直接让myFunction返回一个带有play方法的对象:

<html>
<body>
<p id="demo"></p>
<script>
function myFunction() {
  // 返回包含play方法的对象
  return {
    play: function(a, b) {
      document.getElementById("demo").innerHTML = a * b;
    }
  };
}
myFunction().play(2,3);
</script>
</body>
</html>

方案二:让myFunction直接返回play函数

如果不需要用.play的调用方式,也可以让myFunction直接返回内部的play函数,然后直接调用:

<html>
<body>
<p id="demo"></p>
<script>
function myFunction() {
  return function(a, b) {
    document.getElementById("demo").innerHTML = a * b;
  }
}
// 直接调用返回的函数
myFunction()(2,3);
</script>
</body>
</html>

两种方案都能解决你的问题,第一种更符合你原本的调用逻辑,你可以根据需求选择~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:13:42