⊗jsPmFNOIP 250 of 505 menu

Parâmetros de funções externas e internas em JavaScript

Vamos fazer com que tanto a função externa quanto a interna recebam parâmetros:

function test(num) { function func(localNum) { console.log(localNum); } }

Vamos passar o parâmetro da função externa na chamada da função interna:

function test(num) { function func(localNum) { console.log(localNum); // exibirá 1 } func(num); //!! passamos o parâmetro } test(1); // passamos um número como parâmetro

Isso significa que na função interna estarão disponíveis a variável num como uma variável externa da função pai e a variável localNum, que é uma variável local da função interna.

Ambas essas variáveis terão os mesmos valores:

function test(num) { function func(localNum) { console.log(num); // exibirá 1 console.log(localNum); // exibirá 1 } func(num); } test(1);

A diferença entre elas será a seguinte: se na função interna a variável num for alterada - ela mudará também na função externa:

function test(num) { function func(localNum) { num = 2; // alteramos a variável num } func(num); // passamos o parâmetro console.log(num); // exibirá 2 } test(1); // passamos um número como parâmetro

E a variável localNum será local. Suas alterações não levarão a nenhuma mudança na função externa. E a própria variável localNum não será visível fora da função interna:

function test(num) { function func(localNum) { localNum = 2; // alteramos a variável num } func(num); // passamos o parâmetro } test(1); // passamos um número como parâmetro

Determine, sem executar o código, o que será exibido no console:

function test(num) { function func(localNum) { console.log(localNum); } func(num); } test(1);

Determine, sem executar o código, o que será exibido no console:

function test(num) { function func(localNum) { console.log(localNum); } func(num + 1); } test(1);

Determine, sem executar o código, o que será exibido no console:

function test(num) { function func(localNum) { console.log(num); } func(num + 1); } test(1);

Determine, sem executar o código, o que será exibido no console:

function test(num) { function func(localNum) { localNum = 2; } func(num); console.log(num); } test(1);

Determine, sem executar o código, o que será exibido no console:

function test(num) { function func(localNum) { localNum = 2; } func(num); console.log(localNum); } test(1);

Determine, sem executar o código, o que será exibido no console:

function test(num) { function func(localNum) { num = 2; } func(num); console.log(num); } test(1);
entruzlbybn