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"'
另見
- 函式指南