--- title: Deklarasi Fungsi slug: Web/JavaScript/Reference/Statements/fungsi tags: - JavaScript - Pernyataan - Statement translation_of: Web/JavaScript/Reference/Statements/function ---
Deklarasi fungsi mendefinisikan sebuah fungsi dengan parameter-parameter yang ditentukan.
Fungsi juga dapat didefinisikan menggukanan konstruktor {{jsxref("Function")}} dan {{jsxref("Operators/function", "function expression")}}.
function name([param,[, param,[..., param]]]) { [statements] }
name
param
statements
Sebuah fungsi yang diciptakan dengan deklarasi fungsi adalah sebuah objek Function
dan memiliki semua properti, method-method dan tingkah laku dari objek Function. Lihat
{{jsxref("Function")}} untuk informasi mendetail tentang fungsi-fungsi.
Sebuah fungsi juga dapat diciptakan menggunakan sebuah ekspresi (lihat {{jsxref("Operators/function", "function expression")}}).
Secara default, fungsi mengembalikan nilai undefined
. Untuk mengembalikan nilai lain, fungsi tersebut harus memiliki sebuah {{jsxref("Statements/return", "return")}} statement yang menentukan nilai untuk dikembalikan.
Fungsi dapat dideklarasikan secara kondisional, yaitu sebuah statement fungsi dapat disarangkan di dalam sebuah statement if
. Kebanyakan aplikasi perambah selain Mozilla akan memperlakukan deklarasi kondisional seperti itu sebagai sebuah deklarasi non kondisional dan menciptakan fungsi tersebut meskipun kondisi bernilai benar atau salah, lihat artikel berikut untuk ikhtisar. Untuk alasan tersebut, deklarasi kondisional seharusnya tidak digunakan -- untuk pembuatakan kondisional gunakan ekspresi fungsi sebagai gantinya.
Deklarasi fungsi di javaScript mengangkat definisi fungsi. Kamu dapat menggunakan fungsi sebelum kamu mendeklarasikan fungsi tersebut.
hoisted(); // logs "foo" function hoisted() { console.log('foo'); }
Dicatat bahwa {{jsxref("Operators/function", "function expressions")}} tidak terangkat:
notHoisted(); // TypeError: notHoisted is not a function var notHoisted = function() { console.log('bar'); };
Kode berikut mendeklarasikan sebuah fungsi yang mengembalikan jumlah total penjualan ketika diberikan angka dari unit-unit yang terjual dari produk a, b,
dan c
.
function calc_sales(units_a, units_b, units_c) { return units_a * 79 + units_b * 129 + units_c * 699; }
Specification | Status | Comment |
---|---|---|
{{SpecName('ESDraft', '#sec-function-definitions', 'Function definitions')}} | {{Spec2('ESDraft')}} | |
{{SpecName('ES6', '#sec-function-definitions', 'Function definitions')}} | {{Spec2('ES6')}} | |
{{SpecName('ES5.1', '#sec-13', 'Function definition')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES3', '#sec-13', 'Function definition')}} | {{Spec2('ES3')}} | |
{{SpecName('ES1', '#sec-13', 'Function definition')}} | {{Spec2('ES1')}} | Initial definition. Implemented in JavaScript 1.0. |
{{CompatibilityTable}}
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Allowed in sloppy mode | {{CompatChrome(49.0)}} | {{CompatUnknown}} | ||||
Trailing comma in parameters | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatGeckoDesktop("52.0")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Feature | Android | Android Webview | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Allowed in sloppy mode | {{CompatNo}} |
{{CompatChrome(49.0)}} |
{{CompatUnknown}} |
{{CompatChrome(49.0)}} |
||||
Trailing comma in parameters | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatGeckoMobile("52.0")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |