JavaÖrneklerle Fonksiyonları Tanımlama ve Çağırma Komut Dosyası
⚡ Akıllı Özet
JavaKomut dosyası fonksiyonları, yalnızca çağrıldıklarında çalışan yeniden kullanılabilir kod bloklarını gruplandırır ve bu kılavuz, bir komut dosyası fonksiyonunun nasıl tanımlanacağını, ona nasıl argümanlar geçirileceğini ve çağırana nasıl bir değer döndürüleceğini göstermektedir.
İşlev Nedir? JavaSenaryo?
Fonksiyonlar, kodu tekrar kullanılabilir hale getirdikleri için herhangi bir programlama dilinde çok önemli ve kullanışlıdır. Bir fonksiyon, yalnızca çağrıldığında çalıştırılacak bir kod bloğudur. Birkaç satır kodunuzun birkaç kez kullanılması gerekiyorsa, tekrarlanan kod satırlarını içeren bir fonksiyon oluşturabilir ve ardından bu fonksiyonu istediğiniz yerde çağırabilirsiniz.
Süslü parantez içindeki hiçbir şey kendi başına çalışmaz. Tarayıcı, bloğu verdiğiniz ad altında saklar ve kod yalnızca bu adın ardından parantez yazıldığında çalışır, örneğin: myFunction()Dolayısıyla işlevler her şeyin merkezinde yer alır. JavaSenaryo program, senaryonun yaşayıp yaşamayacağı sayfa içinde veya harici bir dosyada.
Bir Fonksiyon Nasıl Oluşturulur JavaSenaryo
- Anahtar kelimeyi kullanın işlev ardından fonksiyonun adı gelir.
- Fonksiyon adından sonra parantezleri açıp kapatın.
- Parantezden sonra kaşlı ayraçları açıp kapatın.
- Kıvrımlı parantezler içinde kod satırlarınızı yazın.
Sözdizimi:
function functionname()
{
lines of code to be executed
}
Aşağıdaki örnek tanımlar myFunction() ve ardından hemen bir sonraki satırda çağırıyor, böylece mesaj sayfa yüklenir yüklenmez görünüyor. Bunu kendiniz deneyin:
<html>
<head>
<title>Functions!!!</title>
<script type="text/javascript">
function myFunction()
{
document.write("This is a simple function.<br />");
}
myFunction();
</script>
</head>
<body>
</body>
</html>
Bağımsız Değişkenlerle İşlev
Argüman içeren fonksiyonlar da oluşturabilirsiniz. Argümanlar parantez içinde belirtilmelidir.
Sözdizimi:
function functionname(arg1, arg2)
{
lines of code to be executed
}
İşte countVowels() Ziyaretçinin istem alanına yazdığı adı alır, her karakteri tek tek inceler ve adın kaç sesli harf içerdiğini bildirir. Bunu kendiniz deneyin:
<html>
<head>
<script type="text/javascript">
var count = 0;
function countVowels(name)
{
for (var i=0;i<name.length;i++)
{
if(name[i] == "a" || name[i] == "e" || name[i] == "i" || name[i] == "o" || name[i] == "u")
count = count + 1;
}
document.write("Hello " + name + "!!! Your name has " + count + " vowels.");
}
var myName = prompt("Please enter your name");
countVowels(myName);
</script>
</head>
<body>
</body>
</html>
JavaKomut Dosyası Dönüş Değeri
Değer döndüren JS işlevleri de oluşturabilirsiniz. Fonksiyonun içinde anahtar kelimeyi kullanmanız gerekir. dönüş ardından döndürülecek değer gelir.
Sözdizimi:
function functionname(arg1, arg2) { lines of code to be executed return val1; }
Bu son örnekte de durum aynı. returnSum() Toplamı, onu çağıran satıra geri gönderir, böylece sonuç fonksiyonun içinde yazdırılmak yerine bir cümleye eklenebilir. Bunu kendiniz deneyin:
<html>
<head>
<script type="text/javascript">
function returnSum(first, second)
{
var sum = first + second;
return sum;
}
var firstNo = 78;
var secondNo = 22;
document.write(firstNo + " + " + secondNo + " = " + returnSum(firstNo,secondNo));
</script>
</head>
<body>
</body>
</html>
Fonksiyon Türleri JavaSenaryo
Yukarıdaki üç örnekte de klasik fonksiyon bildirimi kullanılmıştır, ancak modern yaklaşımlar da mevcuttur. JavaScript, birkaç farklı form daha sunmaktadır. Bunlar esas olarak motorun onları kaldırıp kaldırmadığı ve her birinin nasıl davrandığı bakımından farklılık gösterir. this Anahtar kelime.
| İşlev türü | Tipik sözdizimi | Kullanıldığı zaman |
|---|---|---|
| fonksiyon bildirimi | fonksiyon selamla() { } | Adlandırılmış, yeniden kullanılabilir mantık; kapsamının en üstüne taşındı. |
| Fonksiyon ifadesi | const greet = function () { }; | Bir fonksiyonu değişkende saklamak; yukarı taşınmamış (hoisted) |
| Ok fonksiyonu (ES6) | const greet = () => { }; | Kısa geri çağırma işlevleri; bunu çevreleyen kapsamdan miras alır. |
| anonim işlev | setTimeout(function () { }, 100); | Tek seferlik mantık doğrudan başka bir fonksiyona aktarıldı. |
| IIFE | (işlev () { })(); | Hemen çalışır ve değişkenlerini gizli tutar. |
| Geri Arama | öğeler.herbiri için(gösterilenöğe); | Bir fonksiyona devredilen ve daha sonra çağrılan bir fonksiyon. |
Yukarıdaki örneklerle ilgili not: tarihi örneklerin kullanımı var hem de document.write()Ve her ikisi de hala her tarayıcıda çalışıyor. Mevcut uygulama, değişkenleri şu şekilde tanımlıyor: let or const ve çıktıyı şu şekilde yazdırır: console.log() veya ayarlayarak textContent bir öğe üzerinde, çünkü document.write() Yüklenmesi tamamlanmış bir sayfayı siler. type="text/javascript" Bu özellik HTML5'te isteğe bağlıdır.
Fonksiyon Parametreleri, Argümanları ve Varsayılan Değerleri
Parametreler, tanımda listelenen yer tutucu adlardır, argümanlar ise fonksiyon çağrıldığında sağlanan gerçek değerlerdir. countVowels(name) yukarıda, name Parametre, komut istemine yazılan metin ise argümandır.
function greet(user, greeting = "Hello") { return greeting + ", " + user; } greet("Ann"); greet("Ann", "Welcome");
- Karşılık gelen argümanı olmayan bir parametre şu hale gelir:
undefinedVarsayılan bir değer belirtilmediği sürece,greetingburada. - Ek argümanlar parametre listesi tarafından göz ardı edilir ancak yine de erişilebilir durumda kalır.
argumentsOk fonksiyonu olmayan herhangi bir fonksiyonun içindeki nesne. - Bir dinlenme parametresi şu şekilde yazılır:
...valuesgeriye kalan tüm argümanları gerçek bir bütün haline getiriyor. dizi.
Fonksiyon Kapsamı ve Kaldırma İşlemleri JavaSenaryo
Bir fonksiyonun yazıldığı yer, neleri görebileceğini ve ne zaman çağrılabileceğini belirler. Yeni başlayanların karşılaştığı neredeyse her sürprizi açıklayan iki kural vardır.
- Kaldırma: Fonksiyon bildirimleri, komut dosyası çalıştırılmadan önce kapsamlarının en üstüne taşınır, böylece tanımlandıkları satırın üstünde çağrılabilirler. Fonksiyon ifadeleri ve ok fonksiyonları yukarı taşınmaz ve erken çağrıldıklarında hata verirler.
- Dürbün: ile tanımlanan değişkenler
varBir fonksiyonun içindeki bilgiler, o fonksiyonun tamamında görünürken,lethem deconstBulundukları blokla sınırlıdırlar. Her fonksiyonun dışında tanımlanan her şey globaldir.
Ünlü sayacı bunu pratikte gösterir. count Değişken fonksiyonun dışında tanımlandığı için çağrılması zorlaşıyor. countVowels() Aynı sayfada ikinci kez tıklama, sıfırdan başlamak yerine önceki toplama eklemeye devam eder. Bildirimi fonksiyonun içine taşımak, her çağrıda sıfırlanmasını sağlar.
Bu puanlarping Kurallar sunucu tarafı koduna da yansır, bu nedenle fonksiyonlar yazılırken de aynı mantık geçerlidir. node.jsve işlevsel davranışın neden bu kadar sık ortaya çıktığı JavaSenaryo tabanlı mülakat soruları.
