⊗jsPmFNIF 247 of 505 menu

Funções Aninhadas em JavaScript

Suponha que temos uma função que aceita dois números como parâmetro e retorna a soma dos quadrados desses números:

function func(num1, num2) { return num1 * num1 + num2 * num2; } console.log(func(2, 3)); // exibirá 13 (resultado de 2 * 2 + 3 * 3)

Vamos isolar a operação de elevar ao quadrado em uma função auxiliar square:

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

Suponha que temos certeza de que a função square será usada apenas dentro da função func e em nenhum outro lugar.

Nesse caso, seria conveniente garantir que ninguém a use acidentalmente (você mesmo ou outro programador trabalhando com você).

JavaScript tem uma solução elegante: podemos colocar nossa função auxiliar square dentro de func. Dessa forma, nossa função auxiliar só estará acessível dentro de func, e não fora dela.

Vamos fazer isso:

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

Tentar chamar square de fora de func resultará em um erro:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(square(2)); //!! causará um erro

Faça uma função func que receba dois números como parâmetros e retorne a soma do quadrado do primeiro número com o cubo do segundo número. Faça para isso uma função auxiliar square, que eleva um número ao quadrado, e uma função auxiliar cube, que eleva um número ao cubo.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar