JavaScript Fonksiyon Çağrısı

JavaScript fonksiyonundaki kod, 'biri' onu çağırdığında çalışır.

JavaScript fonksiyonunu çağırma

FonksiyonTanımlamaiçindeyken, fonksiyon içeriğindeki kod çalıştırılmaz.

FonksiyonÇağırmaiçindeyken, fonksiyon içeriğindeki kod çalıştırılır.

Fonksiyonu çağırma genellikle 'fonksiyonu başlatma' veya 'fonksiyonu çalıştırma' olarak da denilebilir.

Bu ders kitabında, biz 'Çağırma”。

Fonksiyonu fonksiyon olarak çağırma

Örnek

myFunction() ve window.myFunction() aynı fonksiyondur:
    function myFunction(a, b) {
}
myFunction(10, 2);           // 20 döndürecektir

Kişisel Deneyim

Bu fonksiyonlar herhangi bir nesneye ait değildir. Ancak, JavaScript'te her zaman bir varsayılan genel nesne bulunur.

HTML'de, varsayılan genel nesne HTML sayfası kendisidir, tüm üst fonksiyonlar 'HTML sayfasına' aittir.

Tarayıcıda, bu sayfa nesnesi tarayıcı penceresidir. Üstteki fonksiyon otomatik olarak bir pencere fonksiyonu haline gelir.

myFunction() 和 window.myFunction() 是同一个函数:

Örnek

myFunction() ve window.myFunction() aynı fonksiyondur:
    function myFunction(a, b) {
}
return a * b;

Kişisel Deneyim

window.myFunction(10, 2); // 20 döndürecektir de

Bu, fonksiyonu çağırmanın yaygın bir yoludur, ancak iyi bir alışkanlık değildir.

this genel değişkenler, yöntemler veya fonksiyonlar, genel nesnede isim çatışması ve zayıf noktalar oluşturabilir.

anahtar kelimesi olarak bilinir this JavaScript'te,

this şeyi, "sahip" mevcut kodu olan nesneyi ifade eder.

değerini, fonksiyonlarda kullanırken, "sahip" olan fonksiyonun nesnesidir. this Lütfen dikkat edin this değerini. Bu bir değişken değil, bir anahtardır. Değiştiremezsiniz

genel nesne

Nesneyi sahibi olmayan bir şekilde çağırdığınızda,this değerini genel nesneye olur.

web tarayıcılarında, genel nesne tarayıcı nesnesidir.

Bu örnek this değerini döndürecektir:

Örnek

var x = myFunction();            // x window nesnesi olacaktır
function myFunction() {
   return this;
}

Kişisel Deneyim

Bir fonksiyonu genel fonksiyon olarak çağırmak, this değerini genel nesneye olur.

window nesnesi olarak kullanmak programın çökmesine neden olabilir.

Fonksiyonu bir yöntem olarak çağırma

JavaScript'te, fonksiyonları nesne yöntemleri olarak tanımlayabilirsiniz.

Aşağıdaki örnek, bir nesne (myObject) oluşturur, iki özellik (firstName ve lastName) ve bir yöntem (fullName) içerir:

Örnek

var myObject = {
    firstName: "Bill",
    lastName: "Gates",
    fullName: function () {
        return this.firstName + " " + this.lastName;
    }
}
myObject.fullName();         // "Bill Gates" döndürecektir

Kişisel Deneyim

fullName yöntemi bir fonksiyondur. Bu fonksiyon nesneye aittir. myObject, fonksiyonun sahibidir.

adlandırılır this şeyin, "sahip" bu JavaScript kodunu olan nesnedir. Bu örnekte,this değeri myObject'dır.

bir test yapalım! Bu fullName yöntemini değiştirerek this değer:

Örnek

var myObject = {
    firstName: "Bill",
    lastName: "Gates",
    fullName: function () {
        return this;
    }
}
myObject.fullName();          // Dönüştürecektir [object Object] (sahip nesnesi)

Kişisel Deneyim

Nesne yöntemi ile fonksiyon çağrımı,} this değeri, nesne kendisidir.

fonksiyonu çağırmak için fonksiyon inşaçısı kullanılır

fonksiyon çağrısının önünde olduğunda Anahtar kelime

Bu, yeni bir fonksiyon oluşturduğunuz gibi görünüyor, ancak JavaScript fonksiyonları nesneler olduğundan, aslında yeni bir nesne oluşturuyorsunuz:

Örnek

// Bu fonksiyon inşaçısıdır:
function myFunction(arg1, arg2) {
    this.firstName = arg1;
    this.lastName  = arg2;
}
// Yeni bir nesne oluşturuldu:
var x = new myFunction("Bill", "Gates");
x.firstName;                             // "Bill" döner"

Kişisel Deneyim

İnşaç çağrısı yeni bir nesne oluşturur. Yeni nesne, inşaçından özellikler ve yöntemler miras alır.

İnşaç içinde this kelime değeri yok.

this değeri, fonksiyon çağrılırken yeni bir nesne oluşturmak için kullanılır.