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