JS Eğitimi

ANA SAYFA JS Giriş JS Nereye JS Çıktı JS İfadeleri JS Sözdizimi JS Yorumları JS Değişkenleri JS Let JS Sabiti JS Operatörleri JS Aritmetiği JS Ataması JS Veri Türleri JS Fonksiyonları JS Nesneleri JS Etkinlikleri JS Dizeleri JS Dize Yöntemleri JS Dizisi Arama JS Dize Şablonları JS Numaraları JS Numarası Yöntemleri JS Dizileri JS Dizi Yöntemleri JS Dizi Sıralaması JS Dizi Yineleme JS Dizi Sabiti JS Tarihleri JS Tarih Formatları JS Tarih Alma Yöntemleri JS Tarih Ayar Yöntemleri JS Matematik JS Rastgele JS Booleanları JS Karşılaştırmaları JS Koşulları JS Anahtarı JS Döngüsü İçin JS Döngüsü İçin JS Döngüsü JS Döngüsü JS Arası JS Yinelenebilirler JS Setleri JS Haritaları JS Türü JS Tipi Dönüşüm JS Bitsel JS Normal İfade JS Hataları JS Kapsamı JS Kaldırma JS Sıkı Modu Bu Anahtar Kelimeyi JS JS Ok İşlevi JS Sınıfları JS JSON JS Hata Ayıklama JS Stil Kılavuzu JS En İyi Uygulamaları JS Hataları JS Performansı JS Ayrılmış Kelimeler

JS Sürümleri

JS Sürümleri JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Kenar JS Geçmişi

JS Nesneleri

Nesne Tanımları Nesne Özellikleri Nesne Yöntemleri Nesne Görüntüleme Nesne Erişimcileri Nesne Oluşturucuları Nesne Prototipleri Nesne Yinelenebilirler Nesne Kümeleri Nesne Haritaları Nesne Referansı

JS Fonksiyonları

Fonksiyon Tanımları Fonksiyon Parametreleri Fonksiyon Çağırma İşlev Çağrısı İşlev Uygula Fonksiyon Kapanışları

JS Sınıfları

Sınıf Tanıtımı Sınıf Kalıtımı Sınıf Statik

JS Zaman uyumsuz

JS Geri Aramaları JS Asenkron JS Sözleri JS Zaman uyumsuz/Bekliyor

JS HTML DOM'si

DOM Tanıtımı DOM Yöntemleri DOM Belgesi DOM Öğeleri DOM HTML'si DOM Formları DOM CSS'si DOM Animasyonları DOM Olayları DOM Olay Dinleyicisi DOM Gezinme DOM Düğümleri DOM Koleksiyonları DOM Düğüm Listeleri

JS Tarayıcı Malzeme Listesi

JS Penceresi JS Ekranı JS Konumu JS Geçmişi JS Navigatörü JS Açılır Pencere Uyarısı JS Zamanlaması JS Çerezleri

JS Web API'leri

Web API'sine Giriş Web Formları API'sı Web Geçmişi API'si Web Depolama API'sı Web Çalışanı API'si Web Getirme API'sı Web Coğrafi Konum API'sı

JS AJAX

AJAX'a Giriş AJAX XMLHttp AJAX İsteği AJAX Yanıtı AJAX XML Dosyası AJAX PHP AJAX ASP AJAX Veritabanı AJAX Uygulamaları AJAX Örnekleri

JS JSON

JSON'a Giriş JSON Sözdizimi JSON'a karşı XML JSON Veri Türleri JSON Ayrıştırma JSON Stringify JSON Nesneleri JSON Dizileri JSON Sunucusu JSON PHP JSON HTML'si JSON JSONP

JS ve jQuery

jQuery Seçiciler jQuery HTML'si jQuery CSS'si jQuery DOM'si

JS Grafikleri

JS Grafikleri JS Tuval JS Konusu JS Chart.js JS Google Grafiği JS D3.js

JS Örnekleri

JS Örnekleri JS HTML DOM'si JS HTML Girişi JS HTML Nesneleri JS HTML Olayları JS Tarayıcı JS Editörü JS Alıştırmaları JS Testi JS Sertifikası

JS Referansları

JavaScript Nesneleri HTML DOM Nesneleri


JavaScript İşlev Tanımları


JavaScript fonksiyonları anahtar kelime ile tanımlanırfunction .

Bir işlev bildirimi veya bir işlev ifadesi kullanabilirsiniz .


Fonksiyon Bildirimleri

Bu öğreticide daha önce, işlevlerin aşağıdaki sözdizimi ile bildirildiğini öğrendiniz :

function functionName(parameters) {
  // code to be executed
}

Bildirilen işlevler hemen yürütülmez. "Daha sonra kullanılmak üzere kaydedilirler" ve daha sonra çağrıldıklarında (çağrıldığında) yürütülürler.

Örnek

function myFunction(a, b) {
  return a * b;
}

Noktalı virgül, yürütülebilir JavaScript deyimlerini ayırmak için kullanılır.
Bir işlev bildirimi yürütülebilir bir ifade olmadığından, onu noktalı virgülle bitirmek yaygın değildir.


Fonksiyon İfadeleri

Bir JavaScript işlevi, bir ifade kullanılarak da tanımlanabilir .

Bir fonksiyon ifadesi bir değişkende saklanabilir:

Örnek

const x = function (a, b) {return a * b};

Bir fonksiyon ifadesi bir değişkende saklandıktan sonra, değişken bir fonksiyon olarak kullanılabilir:

Örnek

const x = function (a, b) {return a * b};
let z = x(4, 3);

Yukarıdaki fonksiyon aslında isimsiz bir fonksiyondur (isimsiz bir fonksiyon).

Değişkenlerde depolanan işlevlerin işlev adlarına ihtiyacı yoktur. Değişken adı kullanılarak her zaman çağrılır (çağrılır).

Yukarıdaki işlev, yürütülebilir bir ifadenin parçası olduğu için noktalı virgülle biter.



Function() Yapıcısı

Önceki örneklerde gördüğünüz gibi JavaScript fonksiyonları functionanahtar kelime ile tanımlanır.

İşlevler, adlı yerleşik bir JavaScript işlev oluşturucusu ile de tanımlanabilir Function().

Örnek

const myFunction = new Function("a", "b", "return a * b");

let x = myFunction(4, 3);

Aslında işlev yapıcısını kullanmak zorunda değilsiniz. Yukarıdaki örnek, yazmakla aynıdır:

Örnek

const myFunction = function (a, b) {return a * b};

let x = myFunction(4, 3);

newÇoğu zaman, JavaScript'te anahtar kelimeyi kullanmaktan kaçınabilirsiniz .


Fonksiyon Kaldırma

Bu öğreticide daha önce "kaldırma" ( JavaScript Kaldırma ) hakkında bilgi edindiniz.

Kaldırma, JavaScript'in bildirimleri geçerli kapsamın en üstüne taşımaya yönelik varsayılan davranışıdır .

Kaldırma, değişken bildirimleri ve işlev bildirimleri için geçerlidir.

Bu nedenle, JavaScript işlevleri bildirilmeden önce çağrılabilir:

myFunction(5);

function myFunction(y) {
  return y * y;
}

Bir ifade kullanılarak tanımlanan işlevler kaldırılmaz.


Kendi Kendini Çağıran İşlevler

İşlev ifadeleri "kendini çağıran" yapılabilir.

Kendi kendine çağrılan bir ifade, çağrılmadan otomatik olarak çağrılır (başlatılır).

İfadenin ardından () varsa, işlev ifadeleri otomatik olarak yürütülür.

Bir işlev bildirimini kendi kendine çağıramazsınız.

Bir fonksiyon ifadesi olduğunu belirtmek için fonksiyonun etrafına parantez eklemeniz gerekir:

Örnek

(function () {
  let x = "Hello!!";  // I will invoke myself
})();

Yukarıdaki işlev aslında anonim bir kendi kendini çağıran işlevdir (isimsiz işlev).


Fonksiyonlar Değer Olarak Kullanılabilir

JavaScript işlevleri değerler olarak kullanılabilir:

Örnek

function myFunction(a, b) {
  return a * b;
}

let x = myFunction(4, 3);

JavaScript işlevleri ifadelerde kullanılabilir:

Örnek

function myFunction(a, b) {
  return a * b;
}

let x = myFunction(4, 3) * 2;

Fonksiyonlar Nesnelerdir

JavaScript'teki operatör , typeofişlevler için "işlev" döndürür.

Ancak JavaScript işlevleri en iyi şekilde nesneler olarak tanımlanabilir.

JavaScript işlevlerinin hem özellikleri hem de yöntemleri vardır .

Özellik arguments.length, işlev çağrıldığında alınan argümanların sayısını döndürür:

Örnek

function myFunction(a, b) {
  return arguments.length;
}

Yöntem toString(), işlevi bir dize olarak döndürür:

Örnek

function myFunction(a, b) {
  return a * b;
}

let text = myFunction.toString();

Bir nesnenin özelliği olarak tanımlanan bir işleve, nesneye bir yöntem denir.
Yeni nesneler oluşturmak için tasarlanmış bir işleve nesne oluşturucu denir.


Ok Fonksiyonları

Ok işlevleri, işlev ifadelerini yazmak için kısa bir sözdizimine izin verir.

functionAnahtar kelimeye, returnanahtar kelimeye ve küme parantezlerine ihtiyacınız yoktur .

Örnek

// ES5
var x = function(x, y) {
  return x * y;
}

// ES6
const x = (x, y) => x * y;

Ok fonksiyonlarının kendilerine ait this. Nesne yöntemlerini tanımlamak için pek uygun değiller .

Ok işlevleri kaldırılmaz. Kullanılmadan önce tanımlanmaları gerekir .

Bir işlev ifadesi her zaman sabit değer olduğundan, kullanmak kullanmaktan const daha güvenlidir .var

returnAnahtar sözcüğü ve küme parantezlerini yalnızca işlev tek bir ifadeyse atlayabilirsiniz . Bu nedenle, bunları her zaman tutmak iyi bir alışkanlık olabilir:

Örnek

const x = (x, y) => { return x * y };

Ok işlevleri IE11 veya önceki sürümlerde desteklenmez.