Get to know MDN better
此頁面由社群從英文翻譯而來。了解更多並加入 MDN Web Docs 社群。
JavaScript 的「is not a function」例外會在試圖將一個值當作函式呼叫,但該值實際上並非函式時發生。
程式試圖將一個值當作函式呼叫,但該值實際上並非函式。有些程式碼預期你提供一個函式,但你沒有這麼做。
函式名稱是不是有拼字錯誤?或者你呼叫方法的物件上沒有這個函式?例如,JavaScript 的 Object 沒有 map 函式,但 JavaScript 的 Array 物件有。
有許多內建函式需要一個(回呼)函式。你必須提供一個函式,才能讓這些方法正常運作:
當使用 Array 或 TypedArray 物件時:
這種情況經常發生,即方法名稱有拼字錯誤:
正確的函式名稱是 getElementById:
對於某些方法,你必須提供一個(回呼)函式,而且它只對特定的物件有效。在這個範例中,我們使用了 Array.prototype.map(),它只適用於 Array 物件。
改用陣列:
有時候在建立類別時,你可能會讓一個屬性和一個函式使用相同的名稱。當呼叫該函式時,編譯器會認為該函式不存在。
改用不同的屬性名稱:
在數學中,你可以將 2 × (3 + 5) 寫成 2*(3 + 5) 或直接寫成 2(3 + 5)。
使用後者會拋出錯誤:
你可以透過加上 * 運算子來修正程式碼:
請確保你正確地引入模組。
一個 helpers 函式庫範例(helpers.js)
正確的引入用法(App.js):
This page was last modified on 2025年7月18日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.