Fungsi adalah salah satu blok bangunan mendasar dalam JavaScript. Fungsi dalam JavaScript mirip dengan prosedur—seperangkat pernyataan yang melakukan tugas atau menghitung nilai, tetapi agar prosedur memenuhi syarat sebagai fungsi, prosedur harus mengambil beberapa input dan mengembalikan output di mana ada beberapa hubungan yang jelas antara . Untuk menggunakan suatu fungsi, Anda harus mendefinisikannya di suatu tempat dalam lingkup yang ingin Anda panggil
Lihat juga bab referensi lengkap tentang fungsi JavaScript untuk mengetahui detailnya
Definisi fungsi [juga disebut deklarasi fungsi, atau pernyataan fungsi] terdiri dari kata kunci
function myFunc[theArr] {
theArr[0] = 30;
}
const arr = [45];
console.log[arr[0]]; // 45
myFunc[arr];
console.log[arr[0]]; // 30
9, diikuti oleh- Nama fungsi
- Daftar parameter fungsi, diapit tanda kurung dan dipisahkan dengan koma
- Pernyataan JavaScript yang mendefinisikan fungsi, terlampir dalam kurung kurawal,
0const square = function [number] { return number * number; } const x = square[4]; // x gets the value 16
Misalnya, kode berikut mendefinisikan fungsi sederhana bernama
const square = function [number] {
return number * number;
}
const x = square[4]; // x gets the value 16
1function square[number] {
return number * number;
}
Fungsi
const square = function [number] {
return number * number;
}
const x = square[4]; // x gets the value 16
_1 mengambil satu parameter, disebut const square = function [number] {
return number * number;
}
const x = square[4]; // x gets the value 16
3. Fungsi terdiri dari satu pernyataan yang mengatakan untuk mengembalikan parameter fungsi [yaitu, const square = function [number] {
return number * number;
}
const x = square[4]; // x gets the value 16
3] dikalikan dengan dirinya sendiri. Pernyataan const square = function [number] {
return number * number;
}
const x = square[4]; // x gets the value 16
_5 menentukan nilai yang dikembalikan oleh fungsireturn number * number;
_Parameter pada dasarnya diteruskan ke fungsi dengan nilai — jadi jika kode di dalam badan fungsi memberikan nilai yang benar-benar baru ke parameter yang diteruskan ke fungsi, perubahan tersebut tidak tercermin secara global atau dalam kode yang memanggil fungsi itu
Saat Anda melewatkan objek sebagai parameter, jika fungsi mengubah properti objek, perubahan itu terlihat di luar fungsi, seperti yang ditunjukkan pada contoh berikut
function myFunc[theObject] {
theObject.make = 'Toyota';
}
const mycar = {
make: 'Honda',
model: 'Accord',
year: 1998,
};
// x gets the value "Honda"
const x = mycar.make;
// the make property is changed by the function
myFunc[mycar];
// y gets the value "Toyota"
const y = mycar.make;
_Saat Anda melewatkan larik sebagai parameter, jika fungsi mengubah salah satu nilai larik, perubahan itu terlihat di luar fungsi, seperti yang diperlihatkan dalam contoh berikut
function myFunc[theArr] {
theArr[0] = 30;
}
const arr = [45];
console.log[arr[0]]; // 45
myFunc[arr];
console.log[arr[0]]; // 30
Sementara deklarasi fungsi di atas secara sintaksis adalah pernyataan, fungsi juga dapat dibuat dengan ekspresi fungsi
Fungsi seperti itu bisa anonim; . Misalnya, fungsi
const square = function [number] {
return number * number;
}
const x = square[4]; // x gets the value 16
_1 dapat didefinisikan sebagaiconst square = function [number] {
return number * number;
}
const x = square[4]; // x gets the value 16
_Namun, nama dapat diberikan dengan ekspresi fungsi. Memberikan nama memungkinkan fungsi merujuk ke dirinya sendiri, dan juga memudahkan untuk mengidentifikasi fungsi dalam jejak tumpukan debugger
const factorial = function fac[n] {
return n