• Stars
    star
    1,340
  • Rank 33,866 (Top 0.7 %)
  • Language
    JavaScript
  • Created almost 8 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Exercícios/Tutorial/Desafios para Iniciantes em JavaScript

40 - Exercicios em JavaScript (JS)

OLÁ INTERNET!!!

Tive a ideia de bolar uma lista de exercicios para quem tem interesse em aprender JavaScript.
São todos exercicios simples, focando em quem gostaria de iniciar porém está meio perdido.
Uma das vantagens de se começar a programar pelo JavaScript seria a premissa que todos tem um Browser/Navegador e um editor disponível.

Eu utilizo o VS-Code, é rapido é simples é barato é de graça. Com varios plugins para turbinar ele.
Dúvidas de como executar o primeiro exercício abaixo?
Como executar um script, Passo a Passo.

Just.... DO IT:

  • (1) Faça uma mensagem de 'Olá Mundo'.... Exemplo: 'Olá Mundo'
  • (2) Faça essa mensagem em um arquivo javascript externo e chame ela... (Importado)
  • (3) Faça uma saída de soma de 2 inteiros, ex: alert(2 + 2) - Somar dois Inteiros
  • (4) No HTML Crie:
1 - Campo/Input do tipo text para preencher o nome completo.
1 - Botão com o texto: 'Exibir Nome' e ao clicar neste botão é exibido um alert com o valor do campo nome completo, ex: ' O Nome Completo é: "xxxx". '

Monitorando-Click
Exibir o nome ao clicar

  • (5) exiba a quantidade de letras que possuem o texto inserido ao clicar no botão
Exemplos de entrada e saida:
'Gabriel' // 7
'Daniel' // 6
'Ronaldo' // 7
'Dennis Ritchie' // 14 (Espaço conta)
  • (6) No seu HTML exiba a imagem de uma lampada, ao clicar em cima da lampada, troque o src dela para a lampada que está acessa.
//SRC da Lampada (apagada)  
https://github.com/gabrieldarezzo/helpjs-ravi/blob/master/images/lampada.jpg?raw=true  

//SRC da Lampada (acessa)  
https://github.com/gabrieldarezzo/helpjs-ravi/blob/master/images/lampada-on.jpg?raw=true

... - Alterar-Src de Img

  • (7) Agora que você já sabe utilizar o evento 'click', aprenda a usar o 'mouseover', ao passar o mouse em cima da 'lampada.jpg' altere ela para 'lampada-on.jpg' (Exemplo abaixo).
  • (7a) Faça 2 campos no HTML chamados: 'Nome', 'Sobrenome' e um botão 'Saudação'; ao clicar no botão exibir um alert: 'Olá {NOME} {SOBRENOME}'
  • (8) Crie um campo texto parar preencher um CPF <input maxlength="11" id="cpf" />, e exiba ao lado com pontuação conforme preencher
  • (9) Preencha um CPF com pontuação <input maxlength="14" id="cpfPoint" /> e no campo ao lado exiba sem pontuação.
  • (10) No HTML Crie:
2 x - Campo/Input do tipo text. (id=soma1, id=soma2)
1 x - Botão (id=btn-soma)
1 x - Campo (id=resultado-soma)

Caso esteja preenchido um valor númerico nos dois campos(id=soma1, id=soma2), 
O resultado da soma devera aparecer no campo (id=resultado-soma) ao clicar no botão (id=btn-soma).
  • (12) Faça um comentário de uma linha no JavaScript no exercicio anterior
  • (12.a) Crie dois botões no HTML chamados: 'Verde', ,'Vermelho'. ao clicar neles, o style="background-color: {COR-SELECIONADA}" vai ser alterado dinamicamente Alterar-Style de uma div
  • (13) Faça um comentário de varias linhas no JavaScript no exercicio anterior do CPF.
  • (14) Crie uma div vazia cujo o id dela é 'resultado' Insira via JavaScript assim que a tela carregar o seguinte texto: 'Esse texto foi inserido pelo JavaScript...' 'Exemplo de "window.onload"'
  • (15) Agora crie um botão que ao ser clicado faça a mesma ação do exercício anterior.
  • (16) Crie uma função que recebe 2 parâmetros e retorna a soma deles. (e utilize no exercicio 10)
  • (17) Crie uma função que recebe 2 parâmetros e retorna a soma deles, porem caso seja passado um parâmetro vazio ela retorne zero.
  • (18) Exiba o 'resto' da seguinte divisão: (5 / 2)
  • (19) Crie uma função que retorna a palavra (impar/par) de acordo com seu parâmetro inteiro.
  • (20) Crie uma função que recebe 2 parâmetros e retorna a multiplicação deles.
  • (21) Crie uma função que calcula 5% de desconto retornando o valor do desconto.
  • (22) Crie uma função que recebe o ano de nascimento da pessoa informando se ela é maior de idade ou menor.
  • (23) Dentro da div com o id 'resultado', escreva 1x ('Repetição'). @dica 'innerHTML', el.innerHTML = 'Repetição';
  • (24) Dentro da div com o id 'resultado', escreva 2x ('Repetição').
  • (25) Dentro da div com o id 'resultado', escreva 20x ('Repetição'). (use o 'for' pelo amor de deus)
  • (26) Dentro da div com o id 'resultado', escreva 5x ('Repetição'). (agora com forEach)
  • (27) Dentro da div com o id 'resultado', escreva 5x ('Repetição'). (agora com while)
  • (28) Dentro da div com o id 'resultado', escreva 5x ('Repetição'). (agora com do while)
  • (29) Dentro da div com o id 'resultado', escreva os números de 0 ~ 10 (escolha uma das opções acima)
  • (30) Dentro da div com o id 'resultado', escreva os números pares até 20... (ex 2,4,6...20)
  • (31) Ok... chega de for(), mentira / #SQN... Exiba a tabuada do 1 até o 10 (for dentro de for?) (caso você escreva de forma manual.. eu vou te bater HSUAHASHUAS)
0 x 0 = 0
0 x 1 = 0
0 x 2 = 0
...
10 x 9 = 90
10 x 10 = 100

(Dica, pesquise um pouco de CSS para melhorar a visualização do resultado.)

  • (32) Crie uma função que informa se tem os caracteres 'dota' no parâmetro informado.
Ex: 'Dota é melhor que LOL' (verdadeiro)
Ex: 'Lol é melhor que CS' (falso) / e Falso na vida real tmb.
  • (33) Exiba aleatoriamente um número pelo alert()
  • (34) Agora faça um botão que ao clicar nele informa se a pessoa acertou o número.
  • (35) Exiba a data atual pelo JavaScript no seguinte formato: dia/mês/Ano
  • (36) Exiba o próximo mês (dinamicamente obviamente)

Just.... DO IT ARRAYS:

Entenda sobre arrays: https://pt.wikipedia.org/wiki/Arranjo_(computa%C3%A7%C3%A3o) ou https://en.wikipedia.org/wiki/Array_data_type

  • (37.a) Crie o seguinte array: var deuses = ['Aegir', 'Aud', 'Balder']
    E Exiba a quantidade/comprimento que ele tem com a função .length

  • (37.b) Crie o seguinte array: var deuses = ['Aegir', 'Aud', 'Balder']
    E exiba um a um com alert() - De preferencia para laços de repetição (for, forEach, while, do{}while)

  • (37.c) Crie o seguinte array: var deuses = ['Aegir', 'Aud', 'Balder']
    E exiba um a um com alert() - De preferencia para funções com callbacks, Ex:(map, reduce, filter)

map, reduce, filter

Leia mais sobre como trabalhar com arrays: https://tableless.com.br/lidando-com-arrays-em-javascript/

  • (37.e) Crie o seguinte array: var deuses = ['Aegir', 'Aud', 'Balder']
    Adicione os 3 Deuses: ('Loki', 'Odin', 'Frey') com a função push()

  • (37.f) Crie o seguinte array: var deuses = ['Aegir', 'Aud', 'Balder']
    Adicione os 3 Deuses: ('Loki', 'Odin', 'Frey') com a função .length

  • (37.g) Crie o seguinte array: var numbers = [5, 7, 1, 8, 9]
    E exiba de forma crescente @dica: .sort
    @dica2: http://pt.stackoverflow.com/questions/9900/como-ordenar-um-array-por-valores

  • (37.h) Crie o seguinte array: var numbers = [5, 7, 1, 8, 9]
    E exiba de forma decrescente.

  • (38) Crie o seguinte array: var deuses = ['Aegir', 'Aud', 'Balder', 'Bragi', 'Búri', 'Dag', 'Dellingr']
    E exiba todos os nomes, dentro do html: <ul id="nomes"></ul>

  • (39) Crie um campo texto no html que armazena o conteúdo em um array sempre que você clicar no botão, e apresente em uma lista(ul)

  • (40) Crie um campo texto no html que armazena o conteúdo em um array sempre que você clicar no botão, e apresente em uma lista(ul) destacando os números pares

  • (41) Crie um contador como o abaixo:

Contador

Challenge Accepted

  • (42)

Challenge Accepted Meme

Com as imagens abaixo: Animação Urso

Crie uma animação, onde a imagem se troca entre 1,2 e 3, e mova o bloco para a direita, dando entender que o urso está 'andando'. Urso Animado

@Dica: Já deixei cortado cada uma com ( 32px x 32px )

  https://raw.githubusercontent.com/gabrieldarezzo/helpjs-ravi/master/images/chara-1.png
  https://raw.githubusercontent.com/gabrieldarezzo/helpjs-ravi/master/images/chara-2.png
  https://raw.githubusercontent.com/gabrieldarezzo/helpjs-ravi/master/images/chara-3.png

Basicamente você pode usar os exemplos abaixo:
Exemplo de temporizador/setTimeout()
Alterar-Style de uma div
Alterar-Src de Img

E obviamente um toque de de CSS para mover a img: Leitura recomendada: https://www.w3schools.com/css/css_positioning.asp


Caso ficou curioso de como fazer, tem um exemplo aqui:

Onde separei em 3 partes:

1-animacao (Onde ocorre a troca de forma dinamica entre a img-chara: 1,2,3)
2-mover-img (Empurro uma imagem estatica de forma dinamica da esquerda (left) até o final)
3-urso-animado (Junção de ambos exemplos, dando a impressão do urso 'andar')

Veja o código completo aqui:
https://github.com/gabrieldarezzo/gabrieldarezzo.github.io/tree/master/helpjs-ravi/desafio-urso

Demo Online do urso animado aqui: ( Não vale copiar em?! ) http://gabrieldarezzo.github.io/helpjs-ravi/desafio-urso/3-urso-animado/

BONUS -

Crie um campo texto no html que armazena o conteúdo em um array sempre que você clicar no botão, e apresente em uma lista(ul) possibilitando excluir individualmente o item/li clicado

JavaScript curiosidade...
http://pt.stackoverflow.com/questions/8035/qual-a-diferen%C3%A7a-entre-declarar-uma-matriz-com-array-e-em-javascript

Tópicos futuros:

  • Importado - Arrays/Matrizes/Vetores?
  • Classes/Prototype
  • JSON
  • Manipulação de CSS pelo JavaScript
  • Jquery
  • feito - Ajax

Exemplos:

Exemplo de Saida: (Isto é um alert...)

<!DOCTYPE HTML>
<html lang="pt-br">
<head>
    <meta charset="utf-8">
    <title>JS Examples</title>
</head>
<body>
  <script type="text/javascript">
      alert('Olá Mundo!');    
  </script>
</body>
</html>

Como executar um script

Está com dúvidas de como executar o 'Olá mundo' no JavaScript?! Fiz um passo a passo. -> (Não precisa de servidor, como eu disse aqui é só JavaScript.... Qualquer navegador/browser já executa.

  • Copie e cole o conteúdo do código acima... (ou escreva, é bom saber algumas tags de cabeça...) Código HTML + JavaScript

  • Clique em 'Arquivo' -> 'Salvar Como' Salvar->Salvar Como

  • Escolha uma pasta, (de preferencia crie uma para cada exercício. Exemplo: 'ex', 'ex1', ...) ) Salve o arquivo

  • Vá até a pasta escolhida, clique com botão direito no arquivo salvo e depois 'Abrir com' -> 'Google Chrome' (Caso não apareça a opção só arrasta para o navegador aberto) Salve o arquivo

  • Prontinho... Seu código foi executado
    Salve o arquivo
    @dica: caso você altere o arquivo 'index.html' é só dar um F5 (Ou Ctrl + R) no navegador que você olha a alteração.

Exemplo de Comentário

<!DOCTYPE HTML>
<html lang="pt-br">
<head>
    <meta charset="utf-8">
    <title>JS Examples</title>
</head>
<body>
  <script type="text/javascript">
    //Isto é um comentário, vai ser ignorado pelo interpretador
  </script>
</body>
</html>

Exemplo de Alert() / Saída / Output de uma soma de dois inteiros (2+2)

Isto tambem é um alert, pode ser considera um 'exibir' ou 'saída' ou 'output' da linguagem:

<!DOCTYPE HTML>
<html lang="pt-br">
<head>
    <meta charset="utf-8">
    <title>JS Examples</title>
</head>
<body>
  <script type="text/javascript">
    alert(2 + 2);
  </script>
</body>
</html>

Entenda:
https://pt.wikipedia.org/wiki/Entrada/sa%C3%ADda ou https://en.wikipedia.org/wiki/Input/output

Monitorando um evento click

Isto monitora o evento 'click' pelo JS no html (Incorporado/Importado)

<!DOCTYPE HTML>
<html lang="pt-br">
<head>
    <meta charset="utf-8">
    <title>JS Examples</title>
</head>
<body>

<button id="btn-clicou">Exibir Alert</button>

<script type="text/javascript">  
document.getElementById('btn-clicou').addEventListener('click', function() {
  alert('Click');
});
</script>
</body>
</html>

Isto monitora o evento 'click' (Inline / In-Tag)

<button onclick="alert('Hit-me');">Click-Me</button>

Exibir o nome ao clicar

Isto monitora o evento 'click' pelo JS no html (Incorporado/Importado)

<!DOCTYPE HTML>
<html lang="pt-br">
<head>
    <meta charset="utf-8">
    <title>JS Examples</title>
</head>
<body>
<p>Nome Completo:</p>
<input type="text" name="nome-completo" id="nome-completo" placeholder="Digite seu nome"/>
<br />
<input type="button" value="Exibir Nome" id="btn-exibir-nome"/>
<hr />
<script type="text/javascript">  
document.getElementById("btn-exibir-nome").addEventListener("click", function() {
  const nomeCompleto = document.getElementById('nome-completo').value;
  alert('O Nome Completo é: ' + nomeCompleto );	
});
</script>
</body>
</html>

Monitorando um evento click (2)

O código abaixo monitora o evento 'click' do elemento DOM com o id 'my-btn' e depois exibe o valor(value) do elemento my-txt

...
<body>
<p>Preencha Qualquer coisa e depois clique no botão abaixo...</p>
<input type="text" name="" id="my-txt" value="Aqui vai ser exibido"  />
<br />
<button id="my-btn">Outro 'Button'</button>

<script type="text/javascript">  
document.getElementById("my-btn").addEventListener('click', function() {
  var texto = document.getElementById("my-txt").value;
  alert(texto);
});
</script>
</body>
...

Alterar Style Div

O código abaixo seleciona um elemento pelo DOM (id="my-photo"), e altera o src deste elemento para 'foto-diferente.jpg'

...
<body>
  
  <style type="text/css">
  #quadrado {
    height: 100px;
    width: 100px;
  }
  </style>

  <div id="quadrado" style="background-color: #f00;"></div>  

  <script type="text/javascript">
    document.getElementById("quadrado").style = "background-color: #f00;";
  </script>


</body>
...

Alterar um atributo do HTML

O código abaixo seleciona um elemento pelo DOM (id="my-photo"), e altera o src deste elemento para 'foto-diferente.jpg'

...
<body>
  <img src="https://github.com/gabrieldarezzo/helpjs-ravi/blob/master/images/lampada.jpg?raw=true" alt="Minha Foto" id="my-photo"/>
  <script type="text/javascript">
    document.getElementById("my-photo").src = 'https://github.com/gabrieldarezzo/helpjs-ravi/blob/master/images/lampada-on.jpg?raw=true';
  </script>
</body>
...

Criar Função

O código abaixo cria uma função de somar em JavaScript, leia mais

...
<body>
    <script type="text/javascript">
        function somaDoisNumeros(primeiro, segundo){
        
            //Armazena o resultado da soma do primeiro parâmetro + segundo parâmetro.
            var resultado = primeiro + segundo;
            
            //E retorna a variavel.
            return resultado;
        }
        
        alert(somaDoisNumeros(1, 3));
        alert(somaDoisNumeros(3, 3));
        alert(somaDoisNumeros(2, 2));
    </script>
</body>
...

Exemplo de temporizador

O código abaixo tem um temporizador que executa uma função anônima após 2000 μs (microsecond) (2 segundos)

...
<body>
    <script type="text/javascript">
      setTimeout(function(){
        alert("Olá mundo atrasado dois segundos"); 
      }, 2000);        
    </script>
</body>
...

Explicações Gerais

Temos 3 formas de chamar um JavaScript (Inline, Incorporado, Importado) veja abaixo:

Inline (Veja o Demo)

<!DOCTYPE HTML>
<html lang="pt-br">
<head>
  <meta charset="utf-8">
  <title>JS Examples</title>
</head>
<body>
  <button onclick="alert('Hit-me');">Click-Me</button>
</body>
</html>

Incorporado (Veja o Demo)

<!DOCTYPE HTML>
<html lang="pt-br">
<head>
    <meta charset="utf-8">
    <title>JS Examples</title>
</head>
<body>
    
  <script type="text/javascript">
    alert('Olá');
  </script>
</body>
</html>

Importado

Basicamente seria 2 arquivos no mesmo nivel de pasta (index.html) e (my_script.js) Conteúdo do 'index.html':

<!DOCTYPE HTML>
<html lang="pt-br">
<head>
    <meta charset="utf-8">
    <title>JS Examples</title>
</head>
<body>
  <script type="text/javascript" src="my_script.js"></script>
</body>
</html>

Conteúdo do 'my_script.js':

alert('Olá!!!');

Pow eu fiz os códigos, porem não acontece nada/fiz os códigos e não ocorreu o esperado....

*Ai meu filho você precisa aprender a debbugar:

Quer mais exercicios ?!

Ainda tem dúvida? Cria um 'Issue' tio....

Gosta de Videos?

Artigos lekais de JavaScript/HTML/CSS:

Pirou no 'Ursinho animado'?

Motivos para você usar o Google Chrome:

Entenda o que é 'Vanilla-js'
Powered By:
Vanilla-js

More Repositories

1

colorizzar

📗 -> 📘 Change color of png keep alpha channel in php!
PHP
28
star
2

inwork-sql

Ex de Banco de dados, Altos 🔑 FK
15
star
3

desafiosInternos

Resultado da peregrinação com resolução de dúvidas interessantes
PHP
15
star
4

inlocation

WordPress Oficial Plugin (More than 1,000+ Active Installs): Create a map in GoogleMaps with location you want (marks), show with shortcode
JavaScript
10
star
5

node-mysql-sample

Api with NodeJs
JavaScript
7
star
6

pokemon-api

6
star
7

gabrieldarezzo.github.io

Online Demos of my GitHub
PHP
6
star
8

rpg

Game RPG in JavaScript with Enchant.js. --- https://gabrieldarezzo.github.io/rpg/
JavaScript
5
star
9

romanjs

Conversor de números decimais para algarismos romanos em JS ( 5️⃣ -> V )
HTML
5
star
10

estudos-git

Estudos sobre o git
4
star
11

nodejs-passport-token

JavaScript
3
star
12

menuTouch

Tabs-Menu (Bootstrap) with suport touch/Drag (Angular 1.x)
HTML
3
star
13

mongodb-sample

JavaScript
3
star
14

fps_cs

File with configuration and improves in CS:GO 🔫 - 🎯 - 🔫
3
star
15

inlocation-api

PHP
2
star
16

omni-stack-8

Semana OmniStack (Week 8) by: RocketSeat
JavaScript
2
star
17

twitchbot

TwitchBot
JavaScript
2
star
18

twitch-animator

Display GIF in Screen with ShurtCuts
JavaScript
2
star
19

semtempoirmao

Repo da Twitch.tv, Criação de aplicativo para usar o chat do WhatsApp sem adicionar
JavaScript
2
star
20

bitcoincli-converter

BitCoin Coverter in NodeJs Consume API: apiv2.bitcoinaverage.com
JavaScript
1
star
21

download-img-node

Download a list (array) of imgs
JavaScript
1
star
22

comum

Gaveta da bagunça
JavaScript
1
star
23

simple-php-docker

PHP
1
star
24

nodejs-passport

Brincando com NodeJs + Passport
JavaScript
1
star
25

alura-laravel

Estudos do Laravel, (Modulo 1 e Avançado)
PHP
1
star
26

tirinhas

HTML
1
star
27

alura-typescript

Estudos da Alura com TypeScript parte1, parte2 (Angular after)
JavaScript
1
star
28

maker-map

Plotar lugares para ter acesso a lat/lng rápido.
HTML
1
star
29

dot-folha

C#
1
star
30

whatsapp-no-contact

Call without add them contact
HTML
1
star
31

mobile-first

Estudo sobre Mobile-First
JavaScript
1
star
32

spotifyweb-api

[JS] Curso do Willian Justen de TDD
JavaScript
1
star
33

alura-angular2

Estudo de Angular2
TypeScript
1
star
34

who-next-app

Exibe quem está próximo a você
JavaScript
1
star
35

alura-csharp-oo

Estudos de C# (Aquecendo para Periféricos/SDK)
C#
1
star
36

300-ideias-c

Exercícios resolvidos, feitos em C.
C
1
star
37

be_mean

Testes / Exercicios / Aprendizados do curso https://github.com/Webschool-io (AngularJs1)
JavaScript
1
star
38

Jogo-da-VelhaJS

Um simples jogo da velha em JS
JavaScript
1
star
39

fruta_fruto

HTML
1
star