SyntaxError: missing ) after argument list

JavaScript 异常“缺少 ) 后面的参数列表”出现在函数调用方式出错时。这可能是打字错误、缺少运算符或未转义的字符串。

消息

SyntaxError: missing ) after argument list (V8-based & Firefox)
SyntaxError: Unexpected identifier 'x'. Expected ')' to end an argument list. (Safari)

错误类型

哪里出错了?

函数调用方式出错。这可能是打字错误、缺少运算符或未转义的字符串,例如。

示例

由于没有“+”运算符连接字符串,JavaScript 期望 log 函数的参数仅为 "PI: "。在这种情况下,它应该以闭合括号结尾。

js
console.log("PI: " Math.PI);
// SyntaxError: missing ) after argument list

可以通过添加“+”运算符来更正 log 调用

js
console.log("PI: " + Math.PI);
// "PI: 3.141592653589793"

或者,您可以考虑使用模板字面量,或利用console.log 接受多个参数的事实

js
console.log(`PI: ${Math.PI}`);
console.log("PI:", Math.PI);

未终止的字符串

js
console.log('"Java" + "Script" = \"' + "Java" + 'Script\");
// SyntaxError: missing ) after argument list

在这里,JavaScript 认为您打算在字符串中使用 ); 并忽略它,最终它不知道您打算使用 ); 结束 console.log 函数。为了解决这个问题,我们可以在“Script”字符串后面加上一个 '

js
console.log('"Java" + "Script" = "' + "Java" + 'Script"');
// '"Java" + "Script" = "JavaScript"'

另请参阅