⊗jsPmFNIF 247 of 505 menu

Pesastatud funktsioonid JavaScriptis

Oletame, et meil on funktsioon, mis parameetritena võtab kaks numbrit ja tagastab nende numbrite ruutude summa:

function func(num1, num2) { return num1 * num1 + num2 * num2; } console.log(func(2, 3)); // väljastab 13 (tulemus 2 * 2 + 3 * 3)

Võtame ruutu tõstmise operatsiooni välja abifunktsiooni square:

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

Oletame, et oleme kindlad, et funktsiooni square kasutatakse ainult funktsioonis func ja mitte üheski teises.

Sel juhul oleks mugav teha nii, et keegi ei saaks seda kogemata kasutada (teie ise või teine programmeerija, kes töötab koos teiega).

JavaScriptis on elegantne lahendus: saame oma abifunktsiooni square paigutada func sisse. Sel juhul on meie abifunktsioon kättesaadav ainult func sees, aga väljaspool - mitte.

Teeme selle:

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

Katse kutsuda square väljaspool func põhjustab vea:

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

Tehke funktsioon func, mis parameetritena võtab kaks numbrit, ja tagastab esimese numbri ruudu summa teise numbri kuubiga. Tehke selleks abifunktsioon square, mis tõstab numbri ruutu, ja abifunktsioon cube, mis tõstab numbri kuupi.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu