Estou deixando minhas anotações para que possa ajudar a esclarecer aqueles que ficaram com duvidas sobre função, também busquei explorar sobre variáveis locais e globais, depois que fiz testes e descobri que modificava a variáveis conforme e onde eram declaradas. Se houver algo para complementar ficarei grato. Bons estudos a todos.
//FUNÇÕES SÃO PEQUENOS TRECHOS DE CODIGOS QUE PODEM SER REUTILIZADOS E IMPLEMENTADOS DE FORMA PRÁTICA
let frase = "um novo dia";
let saudacao = "Ohayo";
let b = 2, h = 3;
function exibeTexto(texto){ // podemos passar um parâmetro qualquer ele irá interpretar o valor do parâmetro quando for CHAMADA A FUNÇÃO ---> console.log(exibeTexto(frase)); o valor de FRASE(parâmetro) irá pra TEXTO(que chamamos de argumento).
texto = "uma nova noite"; // podemos modificar o valor do argumento e retorná-lo para fora da função
return texto; // saída: será a variável alterada na função: "UMA NOVA NOITE"
}
console.log(exibeTexto(frase),"Original:",frase); // saída: "UMA NOVA NOITE" /ORIGINAL: "UM NOVO DIA"
//REUTILIZANDO A MESMA FUNÇÃO MAS USANDO A VAR SAUDAÇÃO COMO ARGUMENTO
console.log(exibeTexto(saudacao)); // saída: "OHAYO" / "UMA NOVA NOITE"
console.log("___________________________________________________________________________");
// SOMANDO NÚMEROS EM UMA FUNÇÃO PASSANDO PARÂMETROS
function calculaAreaTriangulo(b,h){ // aqui passamos os parâmetros b,h, portanto quando modificarmos para 10 e 100,conforme o código abaixo, será nas variáveis locais(b e h assumem o valor de 10 e 100 localmente) porém se imprimirmos depois as variáveis globais elas terão os valores iniciais de 2 e 3 para b e h.
b = 10, h = 100; // modificamos os valores localmente
console.log(` os valores locais de b é ${b} e de h é ${h} `) // saída: 10 e 100
area = (b * h)/2; // calculo sobre as variáveis locais
return area; // retorno do resultado
}
calculaAreaTriangulo(b,h);// CHAMANDO A FUNÇÃO
let resultado = area; // armazenando o return area em uma var resultado
console.log(`a area do triângulo calculada sobre as variáveis locais é :${resultado}, o valor global de b é ${b} e de h é ${h}`); // //saída 500 b = 2 e h = 3
console.log("___________________________________________________________________________");
// SE NÃO PASSARMOS PARÂMETRO ALGUM NA CRIAÇÃO DA FUNÇÃO E PRECISARMOS ALTERAR OS VALORES DENTRO DA MESMA PARA UM CALCULO POR EXEMPLO ELA MODIFICARÁ O VALOR DA VARIÁVEL GLOBAL.
function calculaAreaQuadrado( ){// <-- NÃO PASSAMOS VARIÁVEL NENHUMA NESTA FUNÇÃO
b = 10, h = 100; // modificando o valor de b e h
console.log(` os valores locais de b é ${b} e de h é ${h} `) // saída: 10 e 100
area = (b * h)/2; // calculo sobre b e h modificada localmente
return area; // retorno do resultado.
}
calculaAreaQuadrado(b,h) // CHAMANDO A FUNÇÃO
resultado = area; // armazenando o return de area em resultado
console.log(`a area do quadrado calculada sobre as variaveis locais é :${resultado}, o valor global de b é ${b} e de h é ${h}`);
//saída 500, b = 10 e h = 100 -->AQUI B E H DECLARADAS NO INICIO COMO 2 E 3 AGORA ASSUMEM O VALOR DE 10 E 100. POIS NÃO PASSAMOS PARÂMETRO ALGUM QUANDO CRIAMOS A FUNÇÃO, PORTANTO ELA UTILIZA E MODIFICA AS VARIÁVEIS GLOBAIS.(QUE SÃO AS VARIÁVEIS DECLARADAS FORA DA FUNÇÃO).