SyntaxError: missing ) after argument list
JavaScript 异常 "missing ) after argument list"(参数列表后缺少 ")")发生在函数调用方式有误时。这可能是由于拼写错误、缺少运算符或未转义的字符串引起的。
消息
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"'
另见
- 函数指南