Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Introdução ao JS</title>
- </head>
- <body>
- <!-- -->
- <script>
- //single line
- /*
- JS = linguagem "fracamente tipificada" => as entidades têm SEMPRE um tipo, mas esse tipo pode mudar
- Java = linguagem "fortemente tipificada" => as entidades têm SEMPRE um tipo, que nunca pode mudar
- 3 formas de entidade diferentes = const , var , function
- procedimental
- orientada a objetos = por prototipagem
- */
- const PI = 3.1415; //fim de instrução (operação de atribuição) simples
- var i= undefined; //declaração de um identificador de nome i
- ;
- ; //notação do camelo / camel-notation para identificadores
- //hungarian postfix notation
- ;
- ; //instrução vazia "NOP" = No Operation
- var tipoDoPI = typeof (PI);
- var tipoDoI = typeof (i);
- var tipo_do_i = typeof(i); //operando-esquerdo ; operador (binário = 2 operandos = aridade 2) ; operando-direito
- var soma = 2+3; //a sintaxe / a notação + faz de operador aritmético de soma
- //var soma = /* n-ária */ +(1 2 3 4 5 6); //em LISP
- var fraseParaPI = "O tipo do identificador PI é "+tipoDoPI+"<br>";
- var fraseParaI="O tipo do identificador i é "+tipoDoI+"<br>"; // + operador concatenação
- document.write (fraseParaPI);
- document.write (fraseParaI);
- //undefined = {undefined}
- // boolean = {true, false}
- // number = {23.0, 1.2}
- // int 16 bits 2^16 = 65536 = {2, 65537} = {-32768, 32767} LISP
- document.write ("<h1>Tipos de dados nativos em JS</h1>");
- function maquina(
- pEntrada1,
- pEntrada2
- ) //dois parâmetros
- {
- document.write("<mark>Olá "+pEntrada1+" "+pEntrada2+"</mark><br>");
- pEntrada1 = "zlxkxjd alskjd alksdja lksdjalkjd lakj dlkajsd ";
- }
- //argumentos associam-se a params através de "passagem por valor" vs. "passagem por referência" (não há em JS)
- var v1="bla", v2="ble";
- maquina(
- //"bla",
- //"ble"
- v1,
- v2
- ); //dois argumentos
- document.write (v1+"<br>"); //bla
- function maquinaParaEscreverOValorEOTipoDeUmaCoisa (pCoisa){
- var frase = pCoisa+" tipo: "+typeof(pCoisa)+"<br>";
- document.write(frase);
- //return frase; //se uma function não fizer return, não lhe é atribuido um valor, logo o seu valor é undefined
- return undefined;
- }//maquinaParaEscreverOValorEOTipoDeUmaCoisa
- var x;
- maquinaParaEscreverOValorEOTipoDeUmaCoisa (x);
- x = 3;
- maquinaParaEscreverOValorEOTipoDeUmaCoisa (x);
- x = 3.3;
- maquinaParaEscreverOValorEOTipoDeUmaCoisa (x);
- x = 'Artur';
- maquinaParaEscreverOValorEOTipoDeUmaCoisa (x);
- x = maquina;
- maquinaParaEscreverOValorEOTipoDeUmaCoisa (x);
- /*
- x=1234;
- maquinaParaEscreverOValorEOTipoDeUmaCoisa(
- maquinaParaEscreverOValorEOTipoDeUmaCoisa(x,x)
- );
- */
- function minhaSoma(pV1, pV2)
- {
- var resultado = pV1 + pV2;
- return resultado; //equivale a operador de atribuição para functions *e* termina a execução do algoritmo
- //as instruções seguintes nunca acontecerão
- maquinaParaEscreverOValorEOTipoDeUmaCoisa (true);
- maquinaParaEscreverOValorEOTipoDeUmaCoisa (false);
- }
- var res = minhaSoma(2,2);
- document.write(
- res
- );
- </script>
- </body>
- </html>
- ********************
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Operadores Aritméticos</title>
- </head>
- <body>
- <script>
- /*
- Os operadores aritméticos em JS são binários (2 operandos) e infixos (operador entre operandos); i.e.
- operando-esquerdo operador operando-direito
- + soma // 2+2
- - subtração // 2-2
- * multiplicação // 2*2
- / divisão // 2/2
- % resto da divisão inteira // 2%2 "operador modulus"
- casos de uso +comuns para % são determinação de multiplicidade: um nº x é múltiplo de y, quando o resto da sua
- divisão inteira por y é zero
- 6%3 === 0
- 9%3 === 0
- 10%3 === 1
- */
- function par (
- pX //param
- ){
- return pX%2 === 0; // === operador relacional de estritamente idêntico ; compara-se o valor *e* o tipo
- }
- function maquinaDeCalcularAritmetica(
- pOperandoEsquerdo,
- pOperador,
- pOperandoDireito
- ){
- var strExpressaoParaSerCalculada =
- pOperandoEsquerdo + pOperador + pOperandoDireito;
- var resultado = eval (strExpressaoParaSerCalculada);
- return resultado;
- }//maquinaDeCalcularAritmetica
- document.write (maquinaDeCalcularAritmetica (5,"%", 2));
- document.write("<br>");
- var x = 39;
- document.write(
- par(
- //39 //argumento é um inteiro literal
- x
- )
- );
- </script>
- </body>
- </html>
- ********************
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Operadores Aritméticos</title>
- </head>
- <body>
- <!-- form é um elemento para colecionar inputs / entradas / respostas -->
- <form>
- <!-- operando esquerdo -->
- <label for="idOperandoEsquerdo">operando esquerdo</label>
- <input
- id="idOperandoEsquerdo"
- type="text"
- value="2"
- ><!-- elemento vazio para representar uma entrada / resposta -->
- <!-- operador -->
- <label for="idOperador">operador</label>
- <input
- id="idOperador"
- type="text"
- value="+"
- >
- <!-- operando direito -->
- <label for="idOperandoDireito">operando direito</label>
- <input
- id="idOperandoDireito"
- type="text"
- value="1"
- >
- <input
- type="button"
- value="calcular"
- >
- </form>
- </body>
- </html>
- *********************
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Operadores Aritméticos</title>
- </head>
- <body>
- <!-- form é um elemento para colecionar inputs / entradas / respostas -->
- <form>
- <!-- operando esquerdo -->
- <label for="idOperandoEsquerdo">operando esquerdo</label>
- <input
- id="idOperandoEsquerdo"
- type="text"
- value="2"
- placeholder="operando esquerdo exº 2"
- ><!-- elemento vazio para representar uma entrada / resposta -->
- <!-- operador -->
- <label for="idOperador">operador</label>
- <select id="idOperador"><!-- conjunto fechado de possibilidades -->
- <option>+</option>
- <option>-</option>
- <option>*</option>
- <option>/</option>
- <option>%</option>
- </select>
- <!-- operando direito -->
- <label for="idOperandoDireito">operando direito</label>
- <input
- id="idOperandoDireito"
- type="text"
- value="1"
- placeholder="operando direito exº 1"
- >
- <input
- id="idCalcular"
- type="button"
- value="calcular"
- >
- </form>
- </body>
- </html>
- ****
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Operadores Aritméticos</title>
- </head>
- <body>
- <script>
- var oOperandoEsquerdo, oOperador, oOperandoDireito, oCalcular;
- function boot(){
- //associação entre vars do JS e elementos HTML
- oOperandoEsquerdo = document.getElementById("idOperandoEsquerdo");
- oOperador = document.getElementById("idOperador");
- oOperandoDireito = document.getElementById("idOperandoDireito");
- oCalcular = document.getElementById("idCalcular");
- //conferir comportamentos aos objetos HTML relevantes
- //nomeDeObjeto.nomeDeEventToHandle = eventHandler;
- //oCalcular.onclick = function (){i1; i2; ... i3;}; //anonymous function
- oCalcular.onclick = functionQueVaiResponderAoMomentoDoClickEmCalcular; //named function
- }//boot
- function functionQueVaiResponderAoMomentoDoClickEmCalcular(){
- var oe = oOperandoEsquerdo.value;
- var od = oOperandoDireito.value;
- var op = oOperador.value;
- var r = maquinaDeCalcularAritmetica (oe, op, od);
- /*
- TODO: onde e como apresentar a resposta?
- onde e como chamar boot?
- */
- }//functionQueVaiResponderAoMomentoDoClickEmCalcular
- function maquinaDeCalcularAritmetica(
- pOperandoEsquerdo,
- pOperador,
- pOperandoDireito
- ){
- var strExpressaoParaSerCalculada =
- pOperandoEsquerdo + pOperador + pOperandoDireito;
- var resultado = eval (strExpressaoParaSerCalculada);
- return resultado;
- }//maquinaDeCalcularAritmetica
- </script>
- <!-- form é um elemento para colecionar inputs / entradas / respostas -->
- <form>
- <!-- operando esquerdo -->
- <label for="idOperandoEsquerdo">operando esquerdo</label>
- <input
- id="idOperandoEsquerdo"
- type="text"
- value="2"
- placeholder="operando esquerdo exº 2"
- ><!-- elemento vazio para representar uma entrada / resposta -->
- <!-- operador -->
- <label for="idOperador">operador</label>
- <select id="idOperador"><!-- conjunto fechado de possibilidades -->
- <option>+</option>
- <option>-</option>
- <option>*</option>
- <option>/</option>
- <option>%</option>
- </select>
- <!-- operando direito -->
- <label for="idOperandoDireito">operando direito</label>
- <input
- id="idOperandoDireito"
- type="text"
- value="1"
- placeholder="operando direito exº 1"
- >
- <input
- id="idCalcular"
- type="button"
- value="calcular"
- >
- </form>
- </body>
- </html>
Add Comment
Please, Sign In to add comment