Variáveis Globais e Parâmetros de Funções em JavaScript
Suponha que temos uma função que recebe um número como parâmetro:
function func(localNum) {
console.log(localNum);
}
Suponha que fora da função existe uma variável num:
function func(localNum) {
console.log(localNum);
}
let num = 1; // variável global externa
Vamos chamar nossa função, passando a
variável num como parâmetro:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num); // chamamos a função com parâmetro, exibirá 1
O resultado será que dentro da função estarão disponíveis
tanto a variável localNum (parâmetro
da função) quanto a variável num (como
uma variável externa):
function func(localNum) {
console.log(num); // exibirá 1
console.log(localNum); // exibirá 1
}
let num = 1;
func(num);
A própria variável localNum será uma variável
local da função e não estará disponível fora dela:
function func(localNum) {
}
let num = 1;
func(num); // chamamos a função com parâmetro
console.log(localNum); // dará um erro
Como a variável localNum é local,
quaisquer alterações nela não mudarão nada
fora da função:
function func(localNum) {
localNum = 2; // não muda nada fora
}
let num = 1;
func(num);
Se, no entanto, alterarmos dentro da função a variável num
(global), as mudanças aparecerão também fora:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num); // exibirá 2
No entanto, se declararmos dentro da função
a variável num usando let,
criaremos assim uma variável local
num, que não afeta a variável externa:
function func(localNum) {
let num = 2; // declaramos usando let
}
let num = 1;
func(num);
console.log(num); // exibirá 1 - nada mudou
Determine, sem executar o código, o que será exibido no console:
function func(localNum) {
console.log(localNum);
}
func(1);
Determine, sem executar o código, o que será exibido no console:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Determine, sem executar o código, o que será exibido no console:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Determine, sem executar o código, o que será exibido no console:
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Determine, sem executar o código, o que será exibido no console:
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Determine, sem executar o código, o que será exibido no console:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Determine, sem executar o código, o que será exibido no console:
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);