JavaScript İşlevi Tanımlanmadı Hatası (AMA TANIMLI)

Javascript Islevi Tanimlanmadi Hatasi Ama Tanimli



JavaScript'te, ' işlev tanımlanmamış ”, program geçerli kapsamda bildirilmemiş veya tanımlanmamış bir işlevi kullanmaya çalıştığında oluşan yaygın bir hatadır. Bu hata mesajı kafa karıştırıcı olabilir çünkü bazen işlev aslında kodda tanımlanır, ancak yine de hatayla sonuçlanır.

Bu makale, JavaScript'in tanımlandığı sırada “işlev tanımlanmadı hatası” nı açıklayacaktır.

JavaScript İşlevi Tanımlanmadı Hatası (AMA TANIMLI)

Bazen işlev kodda tanımlanır, ancak yine de aşağıdaki hatayla karşılaşabilirsiniz:









İşlev tanımlandıktan sonra yukarıdaki hatanın ortaya çıkmasının iki ana nedeni vardır ve bunlar aşağıda listelenmiştir:



1. Neden: İşlev Yanlış Yazılmış veya Yanlış Büyük Harf Kullanıyor

Bazen işlev yanlış yazımlarla çağrılır. JavaScript büyük/küçük harfe duyarlı bir dil olduğundan, JavaScript yorumlayıcısı bunu bulamadı ve ' işlev tanımlanmamış ' hata.





Örnek

İlk önce bir fonksiyon tanımlayacağız” zirve ” iki sayının toplamını verir” A ' Ve ' B ”:

fonksiyon toplamı ( bir, b ) {

geri dönmek A + B ;

}

' işlevini çağırın zirve ' gibi ' toplam 'rakamları geçerek' 4 ' Ve ' 7 ”:



konsol. kayıt ( toplam ( 4 , 7 ) )

Hata verecektir” toplam tanımlı değil ”:

Nasıl Düzeltilir?

Bu hatayı düzeltmek için işlev adının doğru yazıldığından ve doğru büyük harf kullanımına sahip olduğundan emin olun:

konsol. kayıt ( zirve ( 4 , 7 ) ) ;

Şimdi, işlev ' zirve ' başarıyla çağrıldı ve iki sayının toplamını yazdır ' 4 ' Ve ' 7 ”:

Sebep 2: Fonksiyon Farklı Kapsamda Tanımlanmış

JavaScript'te her işlevin kendi kapsamı vardır ve bir işlev yalnızca kendi kapsamı içinde tanımlanan değişkenlere ve işlevlere erişebilir. Bir işlev farklı bir kapsamda tanımlanırsa, geçerli kapsamda erişilebilir olmayabilir ve bu da ' işlev tanımlanmamış ' hata.

Örnek

Bir işlev tanımlayın ' toplam() ” iki parametreli “ A ' Ve ' B 'işlev içinde' Yazdır() ”:

işlev yazdırma ( ) {

fonksiyon toplamı ( bir, b ) {

konsol. kayıt ( A + B ) ;

}

}

' işlevini çağırın toplam() ”:

toplam ( 5 , 10 ) ;

Bir hata veriyor çünkü sum(), print() işlevi içinde tanımlanmış, ancak kapsamın dışından erişiliyor:

Nasıl Düzeltilir?

İşlevin uygun kapsamda tanımlandığından ve çağrıldığı yerden erişilebildiğinden emin olun. Örneğin fonksiyon başka bir fonksiyonun içinde tanımlı ise dışarıdan erişim sağlanamayabilir.

Sum() işlevini tanımladıktan sonra print() işlevi içinde çağırın:

işlev yazdırma ( ) {

fonksiyon toplamı ( bir, b ) {

konsol. kayıt ( A + B ) ;

}

toplam ( 1 , 4 ) ;

}

print() yöntemini çağırın:

Yazdır ( ) ;

Çıktı

Veya fonksiyonu ayrıca tanımlayabilir ve başka bir fonksiyonun kapsamında aşağıdaki gibi çağırabilirsiniz:

fonksiyon toplamı ( bir, b ) {

konsol. kayıt ( A + B ) ;

}

Burada, print() işlevi içindeki sum()'u çağıracağız:

işlev yazdırma ( ) {

toplam ( 5 , 10 ) ;

}

' işlevini yürütmek için print() yöntemini çağırın. toplam() ”:

Yazdır ( ) ;

İki sayının toplamı ' 5 ' Ve ' 10 ” görüntülendi:

JavaScript'in nedenlerini ve çözümlerini tartıştık” işlev tanımlanmadı hatası ” (ancak tanımlanmıştır).

Çözüm

' olmasının iki temel nedeni vardır. işlev tanımlanmamış ' gibi işlev tanımlandıktan sonra hata oluşur. işlev yanlış yazılmış veya yanlış büyük harf kullanımına sahip ' ya da ' işlev farklı bir kapsamda tanımlandı ”. Bu makale, JavaScript'in “işlev tanımlanmadı hatası” (ama tanımlı) hatasının nedenlerini ve çözümlerini tanımlamaktadır.