⊗jsPmFNIF 247 of 505 menu

Fungsi Bersarang dalam JavaScript

Katakan kita mempunyai fungsi yang menerima dua nombor sebagai parameter dan mengembalikan hasil tambah kuasa dua nombor-nombor tersebut:

function func(num1, num2) { return num1 * num1 + num2 * num2; } console.log(func(2, 3)); // akan memaparkan 13 (hasil 2 * 2 + 3 * 3)

Mari kita asingkan operasi kuasa dua kepada fungsi pembantu square:

function square(num) { return num * num; } function func(num1, num2) { return square(num1) + square(num2); } console.log(func(2, 3)); // akan memaparkan 13

Katakan kita yakin bahawa fungsi square hanya akan digunakan dalam fungsi func dan tidak di mana-mana lagi.

Dalam kes ini, adalah lebih mudah untuk memastikan tiada orang yang secara tidak sengaja menggunakannya (anda sendiri atau pengaturcara lain yang bekerja bersama anda).

JavaScript mempunyai penyelesaian yang elegan: kita boleh meletakkan fungsi pembantu square ke dalam func. Dalam kes ini, fungsi pembantu kita hanya boleh diakses dalam func, tetapi tidak dari luar.

Mari lakukan ini:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(func(2, 3)); // akan memaparkan 13

Cubaan untuk memanggil square dari luar func akan menyebabkan ralat:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(square(2)); //!! akan memberikan ralat

Buat fungsi func yang parameternya akan menerima dua nombor, dan mengembalikan hasil tambah kuasa dua nombor pertama dengan kuasa tiga nombor kedua. Buat untuk ini fungsi pembantu square, yang memangkatkan nombor kuasa dua, dan fungsi pembantu cube, yang memangkatkan nombor kuasa tiga.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak