⊗jsPmFNFRF 252 of 505 menu

Fungsi yang Mengembalikan Fungsi dalam JavaScript

Katakan kita mempunyai fungsi seperti berikut yang mengembalikan rentetan:

function func() { return '!'; } let result = func(); console.log(result); // akan memaparkan '!'

Sekarang, secara analogi, mari kita kembalikan fungsi tanpa nama dan bukannya rentetan:

function func() { return function() { return '!'; }; } let result = func(); // pembolehubah result akan menjadi fungsi console.log(result); // akan memaparkan 'function() {return '!';}'

Seperti yang anda lihat, pembolehubah result sekarang merupakan sebuah fungsi. Mari kita paparkan hasil kerjanya dalam konsol. Untuk melakukan ini, tulis tanda kurung kepadanya:

function func() { return function() { return '!'; }; } let result = func(); console.log( result() ); // akan memaparkan '!'

Oleh kerana panggilan func() mengembalikan sebuah fungsi, maka kita boleh terus memanggil fungsi yang dikembalikan itu, seperti ini: func()() - tanda kurung pertama mendapatkan hasil fungsi func (yang sendiri merupakan sebuah fungsi), manakala tanda kurung kedua diaplikasikan kepada hasil func.

Mari kita cuba:

function func() { return function() { return '!'; }; } console.log( func()() ); // akan memaparkan '!'

Buat fungsi func1, yang apabila dipanggil seperti ini: func1()(), mengembalikan nombor 1. Buat fungsi serupa func2, yang mengembalikan nombor 2. Cari jumlah hasil fungsi-fungsi ini.

ennlidithi