tutorial pengembangan web terbaru
 

JavaScript fungsi Definisi


Fungsi JavaScript didefinisikan dengan function kata kunci.

Anda dapat menggunakan deklarasi fungsi atau ekspresi fungsi.


fungsi Deklarasi

Sebelumnya dalam tutorial ini, Anda belajar bahwa fungsi dideklarasikan dengan sintaks berikut:

function functionName ( parameters ) {
  code to be executed
}

fungsi dinyatakan tidak dieksekusi segera. Mereka "disimpan untuk digunakan nanti", dan akan dieksekusi kemudian, ketika mereka dipanggil (dipanggil).

Contoh

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

Titik koma digunakan untuk memisahkan laporan JavaScript dieksekusi.
Sejak deklarasi fungsi tidak pernyataan dieksekusi, itu tidak umum untuk mengakhirinya dengan titik koma.


fungsi Ekspresi

Sebuah fungsi JavaScript juga dapat didefinisikan menggunakan ekspresi.

Ekspresi fungsi dapat disimpan dalam variabel:

Contoh

var x = function (a, b) {return a * b};
Cobalah sendiri "

Setelah ekspresi fungsi telah disimpan dalam variabel, variabel dapat digunakan sebagai fungsi:

Contoh

var x = function (a, b) {return a * b};
var z = x(4, 3);
Cobalah sendiri "

Fungsi di atas sebenarnya fungsi anonim (fungsi tanpa nama).

Fungsi disimpan dalam variabel tidak perlu nama fungsi. Mereka selalu dipanggil (disebut) menggunakan nama variabel.

Fungsi di atas diakhiri dengan titik koma karena merupakan bagian dari pernyataan dieksekusi.


The Function() Konstruktor

Seperti yang Anda lihat pada contoh sebelumnya, fungsi JavaScript didefinisikan dengan function kata kunci.

Fungsi juga dapat didefinisikan dengan built-in fungsi JavaScript konstruktor disebut Function() .

Contoh

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

var x = myFunction(4, 3);
Cobalah sendiri "

Anda benar-benar tidak harus menggunakan fungsi konstruktor. Contoh di atas adalah sama dengan menulis:

Contoh

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

var x = myFunction(4, 3);
Cobalah sendiri "

Sebagian besar waktu, Anda dapat menghindari menggunakan new kata kunci dalam JavaScript.


Function Hoisting

Sebelumnya dalam tutorial ini, Anda belajar tentang "hoisting" .

Mengangkat adalah perilaku default JavaScript untuk bergerak deklarasi ke atas ruang lingkup saat.

Mengangkat berlaku untuk deklarasi variabel dan deklarasi fungsi.

Karena itu, fungsi JavaScript bisa disebut sebelum mereka dinyatakan:

myFunction(5);

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

Fungsi didefinisikan menggunakan ekspresi tidak mengangkat.


Fungsi Self-Meminjam

Fungsi ekspresi dapat dibuat "permintaan otomatis".

Sebuah ekspresi diri-memohon dipanggil (mulai) secara otomatis, tanpa dipanggil.

Fungsi ekspresi akan mengeksekusi secara otomatis jika ungkapan diikuti oleh () .

Anda tidak dapat diri memohon deklarasi fungsi.

Anda harus menambahkan tanda kurung di sekitar fungsi untuk menunjukkan bahwa itu adalah ekspresi fungsi:

Contoh

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

Fungsi di atas sebenarnya merupakan fungsi diri memohon anonymous (fungsi tanpa nama).


Fungsi Bisa Digunakan sebagai Nilai

fungsi JavaScript dapat digunakan sebagai nilai-nilai:

Contoh

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

var x = myFunction(4, 3);
Cobalah sendiri "

fungsi JavaScript dapat digunakan dalam ekspresi:

Contoh

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

var x = myFunction(4, 3) * 2;
Cobalah sendiri "

Fungsi yang Objects

The typeof operator dalam JavaScript mengembalikan "function" untuk fungsi.

Tapi, fungsi JavaScript dapat digambarkan sebagai obyek.

Fungsi JavaScript memiliki kedua sifat dan metode.

Properti arguments.length mengembalikan jumlah argumen yang diterima ketika fungsi itu dipanggil:

Contoh

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

The toString() metode mengembalikan fungsi sebagai string:

Contoh

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

var txt = myFunction.toString();
Cobalah sendiri "

Fungsi didefinisikan sebagai properti dari objek, disebut metode untuk objek.
Sebuah fungsi yang dirancang untuk membuat objek baru, disebut objek konstruktor.