Portuguese, Brazilian subtitles

← 03-38 Revenge Of Javascript

03-38 Vingança de JavaScript

Get Embed Code
3 Languages

Subtitles translated from English Showing Revision 2 created 01/25/2013 by Lucilia Figueiredo.

  1. Agora que sabemos como especificar gramáticas para expressões balanceadas,
  2. expressões aritméticas e tags de HTML balanceadas,
  3. vamos voltar nossa atenção para JavaScript.
  4. JavaScript é muito semelhante a Python.
  5. Assim como eu mostrei a você uma gramática formal para HTML,
  6. vamos ver agora uma gramática formal para JavaScript.
  7. Mas, antes disso, quero ter certeza
  8. de que você entende como programas Javascript são interpretados.
  9. Vou mostrar para você um pouco mais de Python e JavaScript, apenas para comparação.
  10. Aqui, à esquerda, temos uma função Python
  11. que computa o valor absoluto do seu argumento inteiro.
  12. Se você passa um número negativo, como -5, ela retorna o valor positivo 5.
  13. Se você passa um número positivo, como 9000000, ela retorna 9000000.
  14. O valor de retorno dessa função é sempre zero ou um número positivo.
  15. Vou escrever a mesma coisa em JavaScript,
  16. para fins de comparação.
  17. Tudo que eu escevi em azul é uma palavra reservada ou símbolo de pontuação usado na linguagem.
  18. Por exemplo, para definir uma função em Python, usamos `def'.
  19. Em JavaScript, escrevemos a palavra `function', mas ainda é nossa escolha como chamá-la --
  20. estou chamando a função de `absval' em ambos os casos --
  21. e também quantos parâmetros ela deve ter e quais são os seus nomes --
  22. em ambos os casos, temos 1 parâmetro, chamado `x'.
  23. Em Python, usamos `:' e tabulação para indicar o que é o corpo da função,
  24. e qual é a parte correspondente ao `then' e ao `else' de um comando `if'.
  25. Em JavaScript usamos `{' e `}'
  26. para indicar esse tipo de escopo léxico.
  27. Este é um tipo de `{' (1), e ele casa com este `}' (1) aqui;
  28. (2) casa com (2) e (3) casa com (3).
  29. Mas, em geral, a estrutura lógica, o significado, é o mesmo.
  30. Em ambos os casos, verificamos se x < 0 e retornamos 0-x, neste caso,
  31. ou simplesmente x caso contrário.
  32. Uma das operações mais importantes em qualquer linguagem de programação é imprimir uma informação,
  33. exibir uma informação na tela, para que possamos ver o resuldado da computação,
  34. ou simplesmente para nos ajudar a testar o programa.
  35. Em Python, usamos esta função print,
  36. passando para ela alguns strings.
  37. Aqui estou concatenando os strings `hello' e `!'
  38. para cumprimetar com estusiasmo -- "hello!".
  39. Aqui à direita, estou mostrando a mesma coisa em JavaScript.
  40. O equivalente a print é document.write, ou siamplesmente write.
  41. Neste curso, vamos quase sempre abreviar para write, para economizar espaço.
  42. Se você tem familiaridade com programação orientada a objetos, o que não é necessário neste curso,
  43. você deve saber o que este ponto significa.
  44. Podemos falar mais sobre isso depois.
  45. Uma das diferenças fundamentais, entretanto, é que toda aplicação de uma função JavaScript deve ter
  46. estes `(' e `)', como uma função matemática
  47. tem parênteses em torno de seus argumentos.