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

JS调用冒泡排序函数传[1,3]报Invalid destructuring assignment错误原因

问题原因分析

你出现报错的核心原因是调用函数时错误添加了function关键字,和你是否直接传数组字面量没有关系:

  • function关键字仅用于函数声明/定义场景,调用已经声明好的函数时,不需要加该关键字,直接写函数名(参数)即可。
  • 你写的错误调用代码function bubbleg([1, 3]);会被JS解释器识别为「新声明一个名为bubbleg的函数」,此时括号内的内容会被解析为形参列表。你填入的[1, 3]会被解释器判定为数组解构形参语法,但解构的目标必须是可赋值的标识符(变量名),不能是1、3这类字面量,因此抛出Invalid destructuring assignment target(解构赋值目标不合法)的语法错误。
  • 你修改后的代码num= [1,3] function bubbleg(num);严格来说也不符合标准语法,仍然多写了function关键字,能正常运行大概率是实际编码时漏写了多余的function,或是JS解释器做了容错处理。正确的调用写法可以直接是bubbleg([1, 3]),不需要提前将数组赋值给变量。
相关学习资料推荐

这类JS基础语法类的常见错误,可以参考两类书籍排查:

  • 《JavaScript高级程序设计(第4版)》:业内俗称红宝书,前几章的基础语法部分完整覆盖了JS的标准语法规则,以及新手容易混淆的语法坑点。
  • 《你不知道的JavaScript(上卷)》:其中语法部分对JS的解析规则做了更深入的讲解,能帮你理解各类语法报错的底层逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:54:02