javascript fonksiyon var olma kontrolü (function_exists)

Herhangi bir yazılım dilinde, kullanacağınız bir fonksiyon, tanımlı mı diye yer yer kontrol etmek isteriz.

Bu javascript’te de mümkün.

10 dakikalık araştırmamda 2 farklı çözüm buldum ve denedim, 2 si de çalışmaktadır.

1. si :

function deneme() {
	
}

if(window.deneme) {
  alert('deneme fonksiyonu var');
}
else {
  alert('deneme fonksiyonu yok');
}

deneyin göreceksinz.

2. si

function deneme() {
	
}
if(typeof deneme== 'function') { 
  alert('deneme fonksiyonu var'); 
}else{
  alert('deneme fonksiyonu yok');
}

Örnekleri Doğrudan kopyala/yapıştıryaparsanız, var diye alert edecektir. Eğer deneme adlı fonksiyonları silerseniz de yok diye alert edecektir.
Böylece siz de bir fonksiyon yoksa boşu boşuna o şeyi çalıştırmaya çalışmak zorunda kalmayacaksınız.

Ayrıca denedim, Internet explorer’da tabii ki uyuz bir durum oluşuyor. Deneme sayfanızı açarken bile “Activex içeriği otomatik engellendi” diye bir uyarı çıkıyor ve yanında izin ver tuşu çıkıyor.
İzin vermezseniz sayfa komple açılmıyor.

Internet explorer ile bir süre daha (tarihin sayfasına gömülene kadar) problem yaşamak istemezsiniz. Bu yüzden bunu kullanacaksanız; kendi test ortamınız için kullanmanızı, veya chrome , firefox eklentilerinizde kullanmanızı tavsiye ederim.