⊗jsPmFNIF 247 of 505 menu

Funcții Încuibate în JavaScript

Să presupunem că avem o funcție care primește ca parametru două numere și returnează suma pătratelor acestor numere:

function func(num1, num2) { return num1 * num1 + num2 * num2; } console.log(func(2, 3)); // va afișa 13 (rezultatul 2 * 2 + 3 * 3)

Să scoatem operația de ridicare la pătrat într-o funcție auxiliară square:

function square(num) { return num * num; } function func(num1, num2) { return square(num1) + square(num2); } console.log(func(2, 3)); // va afișa 13

Să presupunem că suntem siguri că funcția square va fi utilizată doar în funcția func și în nicio altă.

În acest caz ar fi convenabil să facem astfel încât să n-o poată folosi accidental nimeni (dumneavoastră însuși sau un alt programator care lucrează împreună cu dumneavoastră).

În JavaScript există o soluție elegantă: putem să plasăm funcția noastră auxiliară square în interiorul lui func. În acest caz funcția noastră auxiliară va fi accesibilă doar în interiorul lui func, iar în exterior - nu.

Să facem acest lucru:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(func(2, 3)); // va afișa 13

O încercare de a apela square din exteriorul lui func va duce la o eroare:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(square(2)); //!! va da o eroare

Creați o funcție func care ca parametri va primi două numere, iar ca rezultat va returna suma pătratului primului număr cu cubul celui de-al doilea număr. Creați pentru aceasta o funcție auxiliară square, care ridică numărul la pătrat, și o funcție auxiliară cube, care ridică numărul la cub.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge