この記事では、JavaScript が定義されている間の「関数が定義されていないエラー」について説明します。
JavaScript 関数が定義されていないエラー (BUT IT IS DEFINED)
関数がコードで定義されている場合もありますが、それでも次のエラーに直面する可能性があります。
関数の定義後に上記のエラーが発生する主な理由は 2 つあります。
理由 1: 関数のスペルが間違っているか、大文字と小文字が正しくありません
関数が間違ったスペルで呼び出されることがあります。 JavaScript は大文字と小文字を区別する言語であるため、JavaScript インタープリターは大文字と小文字を区別できず、' 関数が定義されていません ' エラー。
例
まず、関数を定義します。 合計 「2 つの数値の合計を返す」 a ' と ' b 」:
関数合計 ( a、b ) {戻る a + b ;
}
関数を呼び出します “ 合計 ' として ' 和 ” 数字を渡すことで “ 4 ' と ' 7 」:
コンソール。 ログ ( 和 ( 4 、 7 ) )
エラーがスローされます」 合計が定義されていません 」:
それを修正する方法?
このエラーを修正するには、関数名のスペルが正しく、大文字と小文字が正しく使用されていることを確認してください。
コンソール。 ログ ( 合計 ( 4 、 7 ) ) ;さて、関数「 合計 ” が正常に呼び出され、2 つの数値の合計が出力されました “ 4 ' と ' 7 」:
理由 2: 関数が別のスコープで定義されている
JavaScript では、各関数にスコープがあり、関数は自身のスコープ内で定義された変数と関数にのみアクセスできます。関数が別のスコープで定義されている場合、現在のスコープにアクセスできず、「 関数が定義されていません ' エラー。
例
関数を定義する」 和() ” 2 つのパラメータ付き “ a ' と ' b 「関数内」 印刷() 」:
機能印刷 ( ) {関数和 ( a、b ) {
コンソール。 ログ ( a + b ) ;
}
}
関数を呼び出します “ 和() 」:
和 ( 5 、 10 ) ;sum() は print() 関数内で定義されていますが、スコープ外でアクセスされるため、エラーが発生します。
それを修正する方法?
関数が適切なスコープで定義され、呼び出されている場所からアクセスできることを確認してください。たとえば、関数が別の関数内で定義されている場合、外部からアクセスできない場合があります。
定義後、print() 関数内で sum() を呼び出します。
機能印刷 ( ) {関数和 ( a、b ) {
コンソール。 ログ ( a + b ) ;
}
和 ( 1 、 4 ) ;
}
print() メソッドを呼び出します。
印刷する ( ) ;出力
または、関数を個別に定義して、次のように別の関数のスコープで呼び出すこともできます。
関数和 ( a、b ) {コンソール。 ログ ( a + b ) ;
}
ここでは、print() 関数内で sum() を呼び出します。
機能印刷 ( ) {和 ( 5 、 10 ) ;
}
print() メソッドを呼び出して、関数を実行します “ 和() 」:
印刷する ( ) ;二つの数の和」 5 ' と ' 10 」が表示されました:
JavaScript の理由と解決策について説明しました。 関数が定義されていないエラー 」(ただし、定義されています)。
結論
「 関数が定義されていません 」などの関数を定義した後にエラーが発生します。 関数のスペルが間違っているか、大文字と小文字が正しくありません ' または ' 関数は別のスコープで定義されています 」。この記事では、JavaScript の「関数が定義されていないエラー」の理由と解決策を定義しました (ただし、定義されています)。