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 Çağırma


JavaScript'in içindeki kod function, "bir şey" onu çağırdığında yürütülür.


JavaScript İşlevini Çağırma

Bir fonksiyonun içindeki kod, fonksiyon tanımlandığında yürütülmez .

Bir fonksiyonun içindeki kod, fonksiyon çağrıldığında yürütülür .

" Bir işlevi çağırmak " yerine " bir işlevi çağırmak " terimini kullanmak yaygındır .

"Bir işlevi çağırın", "bir işlevi başlatın" veya "bir işlevi yürütün" demek de yaygındır.

Bu eğitimde invoke kullanacağız , çünkü bir JavaScript işlevi çağrılmadan çağrılabilir.


Bir Fonksiyonu Fonksiyon Olarak Çağırmak

Örnek

function myFunction(a, b) {
  return a * b;
}
myFunction(10, 2);           // Will return 20

Yukarıdaki fonksiyon herhangi bir nesneye ait değildir. Ancak JavaScript'te her zaman varsayılan bir global nesne vardır.

HTML'de varsayılan global nesne HTML sayfasının kendisidir, bu nedenle yukarıdaki işlev HTML sayfasına "aittir".

Bir tarayıcıda sayfa nesnesi tarayıcı penceresidir. Yukarıdaki işlev otomatik olarak bir pencere işlevi olur.

myFunction() ve window.myFunction() aynı işlevdir:

Örnek

function myFunction(a, b) {
  return a * b;
}
window.myFunction(10, 2);    // Will also return 20

Bu, bir JavaScript işlevini çağırmanın yaygın bir yoludur, ancak çok iyi bir uygulama değildir.
Genel değişkenler, yöntemler veya işlevler, genel nesnede kolayca ad çakışmaları ve hatalar oluşturabilir.



Bu Anahtar Kelime

JavaScript'te denilen şey this, geçerli kodun "sahibi" olan nesnedir.

Bir işlevde kullanıldığında değeri, thisişlevin "sahibi" olan nesnedir.

thisBunun bir değişken olmadığını unutmayın . Bu bir anahtar kelimedir. değerini değiştiremezsiniz this.

İpucu: JS this Keyword'dekithis anahtar kelime hakkında daha fazla bilgi edinin .


Küresel Nesne

Sahip nesnesi olmadan bir işlev çağrıldığında, değeri this global nesne olur.

Bir web tarayıcısında global nesne tarayıcı penceresidir.

Bu örnek, pencere nesnesini şu değer olarak döndürür this:

Örnek

let x = myFunction();            // x will be the window object

function myFunction() {
  return this;
}

Bir fonksiyonu global fonksiyon olarak çağırmak, bunun değerinin global nesne olmasına neden olur .
Pencere nesnesini bir değişken olarak kullanmak, programınızı kolayca çökertebilir.


Bir Fonksiyonu Yöntem Olarak Çağırmak

JavaScript'te işlevleri nesne yöntemleri olarak tanımlayabilirsiniz.

Aşağıdaki örnek , iki özelliğe ( firstName ve lastName ) ve bir metoda ( fullName ) sahip bir nesne ( myObject ) oluşturur :

Örnek

const myObject = {
  firstName:"John",
  lastName: "Doe",
  fullName: function () {
    return this.firstName + " " + this.lastName;
  }
}
myObject.fullName();         // Will return "John Doe"

fullName yöntemi bir işlevdir . İşlev nesneye aittir. myObject işlevin sahibidir.

adlı şey this, JavaScript kodunun "sahibi" olan nesnedir. Bu durumda this değeri myObject'dir .

Dene! Şunun değerini döndürmek için fullName yöntemini değiştirin this:

Örnek

const myObject = {
  firstName:"John",
  lastName: "Doe",
  fullName: function () {
    return this;
  }
}

// This will return [object Object] (the owner object)
myObject.fullName();

Nesne yöntemi olarak bir işlevi çağırmak, değerinin this nesnenin kendisi olmasına neden olur.


Bir İşlev Oluşturucusu ile bir İşlevi Çağırmak

Anahtar kelimeden önce bir işlev çağrısı newgeliyorsa, bu bir yapıcı çağrısıdır.

Görünüşe göre yeni bir işlev yaratıyorsunuz, ancak JavaScript işlevleri nesneler olduğundan, aslında yeni bir nesne yaratıyorsunuz:

Örnek

// This is a function constructor:
function myFunction(arg1, arg2) {
  this.firstName = arg1;
  this.lastName  = arg2;
}

// This creates a new object
const myObj = new myFunction("John", "Doe");

// This will return "John"
myObj.firstName;

Bir yapıcı çağırma, yeni bir nesne oluşturur. Yeni nesne, yapıcısından özellikleri ve yöntemleri devralır.

Yapıcıdaki thisanahtar kelimenin bir değeri yok.
Değeri this, işlev çağrıldığında oluşturulan yeni nesne olacaktır.