Pesquisar neste blog

14/07/2020

Call & Apply em JavaScript

function getPreco(imposto = 0moeda'R$') {
    return `${moeda} ${this.preco = (1 -this.desc) * (1 + imposto)}`
}

const produto = {
    nome: 'Ventilador',
    preco: 8090,
    desc: 0.15,
    getPreco
}
global.preco = 20
global.desc = 0.1
console.log(getPreco());
console.log(produto.getPreco());

// do call e apply
const carro = {preco: 7788desc: 0.20}
console.log('\n',carro);
console.log(getPreco());
console.log(getPreco.call(carro));

//appy
console.log('\n',getPreco.apply(carro));

console.log(getPreco.call(carro0.17"$"));
console.log(getPreco.apply(global, [0.17],'$'));//apply dentro de um array




Classe vs Funcão Factory em JavaScript

class Pessoa{
    constructor(nome){
        this.nome = nome//torna publico
    }

    falar(){
        console.log('1- Meu nome é: ',this.nome);
        console.log(`2- Meu nome é: ${this.nome}`);
    }
}
const p1 = new Pessoa('João')
p1.falar()
console.log(p1);//imprimindo o objeto



Função Factory em JavaScript

//Factory é uma função que retorna um objeto
function Pessoa() {
    return{
        nome: 'Karolayme meu AMOR',
        sobrenome: 'Silva'
    }
}

console.log(Pessoa());

function Produto(nomepreco) {
    return {
        nome,
        preco
        desconto: 0.1//caso não passe nenhum valor
    }
}

console.log(Produto('Notebook',2500));
console.log(Produto('iPad',1575.7));


Closures em JavaScript

//Closure é  o escopo criado quando uma função é declarada
//Esse escopo permite a função acessar e manipular variáveis

//Contexto léxico em ação!
const x = 'Global'

function fora() {
    const x = 'Local'
    function dentro() {
        return x;
    }
    return dentro
}

console.log(fora());

const minhaFuncao = fora()
console.log(minhaFuncao());//acessa o funcao da variavel local




13/07/2020

Tipos de declaração em JavaScript

//função declarativa
console.log(soma(34));
//console.log(mult(4,5));//exibe erro pois executa do tipo topDow
function soma(xy) {
    return x + y
}

//função expressiva
const sub = function(xy){
    return x - y;
}

//nome de function expressiva
const mult = function mult(xy){
    return x + y;
}
console.log(mult(3,7));//a partir daqui executa



Funções construtoras em JavaScript

function Carro(velocidadeMax = 200delta = 5) {
    let velocidadeAtual = 0

    //método público
    this.acelerar = function(){
        if (velocidadeAtual + delta <= velocidadeMax) {
            velocidadeAtual += delta
        }else{
            velocidadeAtual = velocidadeMax
        }

    }
    this.getVelocidadeAtual = function(){ //permite o acesso por essa função
        return velocidadeAtual;
    }
}

const uno = new Carro
//const uno = new Carro()
uno.acelerar()
console.log(uno.getVelocidadeAtual());

const ferrari = new Carro(35020)
ferrari.acelerar()
ferrari.acelerar()
ferrari.acelerar()
console.log(ferrari.getVelocidadeAtual());

console.log(typeof Carro);//retorna como uma função
console.log(typeof ferrari);//retorna como um objeto


12/07/2020

Função CallBack 2 em JavaScript

//objetivo: selecionar todas as menores que 7
const notas = [7.78.36.55.28.93.67.19.8]
//sem callback
let notasBaixas1 = []//vetor
for(let i in notas){
    if(notas[i] < 7){
        notasBaixas1.push(notas[i])
    }
}
console.log('Método 1:');
console.log(notasBaixas1);

//com Callback
notasBaixas2 = notas.filter(function(nota){
    return nota < 7
})
console.log('\nMétodo 2:');
console.log(notasBaixas2);

const notasBaixas3 = notas.filter(nota => nota < 7)
console.log("\nMétodo3: \n",notasBaixas3);


Função Callback em JavaScript

const fabricantes = ["Mercedes","Audi","BMW"];

function imprimir(nomeindice) {
    console.log(`${indice + 1}${nome}`);
}

fabricantes.forEach(imprimir)
console.log();
fabricantes.forEach(fabricante => console.log(fabricante))











Função anônima em JavaScript

const soma = function(xy){
    return x + y;
}

const imprimiResultado = function(aboperacao = soma){
    console.log(operacao(ab));
}

imprimiResultado(34)
imprimiResultado(34soma)
imprimiResultado(35function(xy){
    return x - y
})

imprimiResultado(34,(x,y)=> x * y)

const pessoa = {//Função anônima dentro de um objeto
    falar(){
        console.log('Olá JavaScript');
    }
}
pessoa.falar()

const teste = {
    fale: function(){
        console.log('Olá blog da engenhariaCotidiana');
    }
}
teste.fale()











Palavras chave:

Anonim JavaScript işlevi
Anonym JavaScript-funktion
Anonyymi JavaScript-toiminto
د جاواسکریټ نامعلوم فعالیت
Anonimowa funkcja JavaScript
Функция анонимного JavaScript
Ανώνυμη συνάρτηση JavaScript
وظيفة جافا سكريبت مجهولة
Fonction JavaScript anonyme

Funções Arrow em JavaScript

let comparaComThis = function(param){
    console.log(this === param);
}

comparaComThis(global)//escopo global

const obj = {}//objeto
comparaComThis = comparaComThis.bind(obj)
comparaComThis(global)
comparaComThis(obj)//aponta para objeto dentro bind

let comparaComThisArrow = param => console.log(this === param);
comparaComThisArrow(global)
comparaComThisArrow(this)
comparaComThisArrow(module.exports)

comparaComThisArrow = comparaComThisArrow.bind(obj)
comparaComThisArrow(obj)

Função arrow em JavaScript

function Pessoa() {
    this.idade = 0

    //contexto léxico
    setInterval(() =>{//temporizador
        this.idade++
        console.log(this.idade);
    }, 1000)
}

new Pessoa


Função arrow 01 em JavaScript

//Função arrow, forma mais reduzida
let dobro = function(a){
    return 2 * a
}

dobro = (a=> {
    return 2 * a
}

dobro = a => 2 * a//retorna implícito
console.log(dobro(Math.PI));//dobro de Pi

let ola = function () {
    return 'Olá'
}

ola = () => 'JavaScript'
console.log(ola());

ola = _ => 'Teste de Arrow'//possui parametro
console.log(ola());




"this" e a função bind em JavaScript

function Pessoa() {
    this.idade = 0

    const self = this//constante não vai mudar nunca

    setInterval(function() {
        this.idade++
        console.log(this.idade);
    }.bind(this), 1000)//para amarrar com this que aponta para pessoa
}

new Pessoa


















e assim continuando ...

Palavras chave

"това" и функцията за свързване в JavaScript
"cái này" và hàm liên kết trong JavaScript
"זה" ופונקציית ה- bind ב- JavaScript
"this" and the bind function in JavaScript
"энэ" болон JavaScript дахь bind функцийг ашиглана уу
"iki" lan fungsi ikat ing JavaScript
"tämä" ja sidontafunktio JavaScript: ssä
"detta" och bindningsfunktionen i JavaScript
JavaScript'te "this" ve bind işlevi

"this" e a função bind em JavaScript

const pessoa = {
    saudacao: 'Bom dia',
    falar(){
        console.log(this.saudacao);
    }
}

pessoa.falar()
const falar = pessoa.falar
falar()//conflito entre a programção orientada a objeto e paradigmas

const falarDePessoa = pessoa.falar.bind(pessoa)//objeto passou para a função bind
falarDePessoa()









Palavras chave:

"šī" un saistīšanas funkcija JavaScript
"detta" och bindningsfunktionen i JavaScript
„this” i funkcja bindowania w JavaScript
"dette" og bindingsfunksjonen i JavaScript
"זה" ופונקציית ה- bind ב- JavaScript
"cái này" và hàm liên kết trong JavaScript
"това" и функцията за свързване в JavaScript

10/07/2020

Parâmetro padrão em JavaScript

//estratégia 1 para gerar valor padrão
function soma1(abc) {
    a = a || 1
    b = b || 1
    c = c || 1
    return a + b + c
}

console.log(soma1(),soma1(5), soma1(123), soma1(0,0,0));

//estatégia 2, 3 e 4 para gerar valor padrão
function soma2(abc) {
    a = a !== undefined ? a : 1//(extritamente diferente)se a for diferente de indefined vai assumir valor 1
    b = 1 in arguments ? b : 1//dentro de a existe o valor 1 ? se existir pegue o valor de b, senão pega o valor 1
    c = isNaN(c) ? 1 : c//se não for um número, pega um valor padrão, caso seja um número retorno o valor de c

    return a + b + c
}
console.log(soma2(), soma2(5), soma2(1,2,3), soma2(0,0,0));

//valor padrão do 2015
function soma3(a=1b=1c=1) {
    return a + b + c
}
console.log(soma3(), soma3(1), soma3(1,23), soma3(0,0,0));










Palavras chave:

Tham số mặc định trong JavaScript
जावास्क्रिप्ट में डिफ़ॉल्ट पैरामीटर
פרמטר ברירת מחדל ב- JavaScript
Standard parameter i JavaScript
Parametro predefinito in JavaScript
Výchozí parametr v JavaScriptu
Параметр по умолчанию в JavaScript
Domyślny parametr w JavaScript
Standardparameter i JavaScript
Noklusējuma parametrs JavaScript

01/07/2020

Função com parâmetros em JavaScript

function soma() {
    let soma = 0
    for (i in arguments) {
        soma += arguments[i]
    }
    return soma
}
console.log(soma());
console.log(soma(1));
console.log(soma(1.12.23.3));
console.log(soma(5.510.7'Teste'));
console.log(soma('a','b','c'));


Função em JavaScript

function area(larguraaltura) {
    const area = largura * altura
    if (area > 20) {
        console.log('Valor acima do esperado: ',area);
    }else{
        return area;
    }
}
console.log(area(2,5));
console.log(area(2));
console.log(area());
console.log(area(2,3,17,22));
console.log(area(5,5));


Função em JavaScript

//função de forma literal
function func1() {}

//armanear em uma variável
const fun = function(){}

const array = [function(a,b){
    return a + b
}, func1fun]

console.log(array[0](23));

//Armazenar em um atributo de objeto
const obj = {}
obj.falar = function(){return 'Olá Mundo !'}
console.log(obj.falar());

//passar função como parâmetro
function run(fun){
    fun()
}
run(function() {console.log('Executando ...');
})

//Função pode retornonar/ conter uma fução
function soma(a,b,c) {
    return function (c){
        console.log(a + b + c);
    }
}

soma(23,)(4)//chamando a função soma
const cincoMais = soma(2,3)//armazena em uma constante
cincoMais(10)


break/continue em JavaScript

const num = [1,2,3,4,5,6,7,8,9,10]

for(x in num){
    if(x == 5){
        break//para se encontrar o 5
    }
    console.log(`${x} = ${num[x]}`);
}

console.log();

for (y in num) {
    if (y == 5) {
        continue//continua ao encontrar o 5
    }
    console.log(y,'= ',num[y]);
}
console.log();

//rótulo
externofor(a in num){
    for(b in num){
        if(a == 3 && b == 3break externo
        
        console.log(`Par = ${a}${b}`);
        
    }
}



FOR/IN em JavaScript

const notas = [6.77.49.8107.7]

for(i in notas){
    console.log(i,'='notas[i]);
    
}

const pessoa = {
    nome: 'Ana',
    sobrenome: 'Silva',
    idade: 30,
    peso: 77
}

console.log();

//passando o atributo de uma pessoa
for(atributo in pessoa){
    console.log(`${atributo} = ${pessoa[atributo]}`); 
}


30/06/2020

For em JavaScript

let contador = 1
/*while (contador <= 10) {
    console.log('Contador = ',contador);
    contador++
}*/

for (let i =  1i<= 10i++) {
    console.log('i = ',i);    
}

const notas = [6.77.49.88.17.7]

for (let i = 0i < notas.lengthi++) {
    console.log('Nota = ',notas[i]);   
}



while com números aleatórios em JavaScript

//Função para números aleatórios
function getInteiroAleatorio(minmax){
    const valor = Math.random() * (max - min)+min;
    return Math.floor(valor);
}

let opcao = 0
while (opcao != -1) {
    opcao = getInteiroAleatorio(-110)
    console.log('Opção escolhida foi: ',opcao);
    
}
console.log('\nFim do Laço');


Array de caracter crescente e decrescente com LCD em CCS C Compiler

#include <main.h>
#include <lcd.c>
#use delay(clock = 20MHz)

const char vetor[] = "blog da ENGENHARIACOTIDIANA ";
int i;

void crescente(){
   for(i = 0; i < sizeof(vetor)/sizeof(int); i++){
      lcd_gotoxy(i+1, 1);
      lcd_putc(vetor[i]);
      delay_ms(100);
      
   }
}

void decrescente(){
   for(i = sizeof(vetor)/sizeof(int) -1; i >= 0 ; i--){
      //lcd_gotoxy(i+1, 1);
      lcd_putc(vetor[i]);
      delay_ms(100);
   }
}

void main(){
   
   lcd_init();
   
   crescente();
   printf(lcd_putc,"\f");//limpa tela do lcd
   decrescente();
   
}


29/06/2020

LCD com vetor e for em CCS C Compiler

Método 1

#include <main.h>
#include <lcd.c>
#use delay(clock = 20MHz)

void main(){
   lcd_init();
   
   for(;;){
      lcd_putc("Olá ");
      delay_ms(400);
   }

}


















Método 2

#include <main.h>
#include <lcd.c>
#use delay(clock = 20MHz)

void main(){
   lcd_init();
   
   for(;;){
      lcd_gotoxy(2,4);//linha 2 coluna 4
      lcd_putc("Olá ! ");
      delay_ms(400);
   }

}














Método 3

#include <main.h>
#include <lcd.c>
#use delay(clock = 20MHz)

int a = 5, b = 2;

void main(){
   lcd_init();
   
   for(;;){
      printf(lcd_putc,"\fvalor = %u , %u",a,b);
      delay_ms(400);
   }

}














Método 4

#include <main.h>
#include <lcd.c>
#use delay(clock = 20MHz)

const char vetor[] = "blog da ENGENHARIACOTIDIANA ";
int i;

void main(){
   
   lcd_init();
   
   for(i = 0; i < sizeof(vetor)/sizeof(int); i++){
      lcd_gotoxy(i+1, 1);
      lcd_putc(vetor[i]);
      delay_ms(100);
      
   }
 
   for(i = sizeof(vetor)/sizeof(int) -1; i >= 0 ; i--){
      lcd_gotoxy(i+1, 2);
      lcd_putc(vetor[i]);
      delay_ms(100);
   }
   
}


Switch case em JavaScript

const imprimiResultado = function (nota) {
    switch (Math.floor(nota)) {
        case 10:
        case 9:
            console.log('Quadro de Honra');
            break;    
        case 8case 7:
            console.log('Aprovado !');
            break;
        case 6case 5case 4:
            console.log('Recuperação');
            break
        case 3case 2case 1:
            console.log('Reprovado');
            break;       
        default:
            console.log('Nota inválida !');
            break;
    }
    console.log('Fim !');
    
}

imprimiResultado(10);
imprimiResultado(8.9)
imprimiResultado(6.55);
imprimiResultado('teste');



23/06/2020

Condição if em JavaScript

Number.prototype.entre = function (iniciofim) {
    return this >= inicio && this <= fim
}

const imprimiResulado = function (nota){
    if(nota.entre(910)){
        console.log('Quadro de Honra')
    }else if(nota.entre(78.99)){
        console.log('Aprovado');
    }else if (nota.entre(03.99)) {
        console.log('Reprovado');
    }else{
        console.log('Nota inválida !');
        
    }
    console.log('FIM');
}

const imprimirResultado = function (nota) {
    if (nota >= 7) {
        console.log('Aprovado !');
    }else{
        console.log('Reprovado');
        
    }
}

imprimirResultado(10)
imprimirResultado(4)
imprimirResultado('Epa !')

console.log('\nMÉTODO 2\n');

imprimirResultado(10)
imprimirResultado(8.9)
imprimirResultado(6.55)
imprimirResultado(-3)
imprimirResultado('TESTE')