Dominar a função eval JavaScript - Parte II Introdução Na última parte da série, vimos como os literais JavaScript e o construtor função são usados como argumentos para o nível superior JavaScript eval () função. Concluiu-se que, com excepção da string literal, a função eval () terá um JavaScript literal como argumento e retorna o código executável do literal. O código executável retornado não é visto no script quando você exibir o código da página da web. Nesta parte da série, vamos olhar para o efeito de passar uma declaração JavaScript como argumento para a função eval ().
Você pode considerar uma declaração como uma peça curta independente do código, geralmente em uma linha. Declaração variável Considere o seguinte declaração da variável: myVar = "um"; O código a seguir não pode ser executado: A primeira linha toma a declaração de variável como argumento. A linha seguinte, o que nunca é executado, tenta exibir a variável. JavaScript interpreta a primeira linha como um com erro. Sempre que a execução de JavaScript encontra um erro, ele pára a execução na linha com o erro.
Agora, considere a seguinte declaração: myVar = 12 As seguintes funções de código sem qualquer problema: a declaração da variável (declaração) é o argumento da função eval (). A primeira linha avalia a declaração e retorna a instrução de declaração. A declaração de retorno não pode ser visto quando você exibir o código da página web, mas ele sai na posição da função eval (). Por isso, pode ser acessado pelas declarações abaixo dele. A segunda linha no script acima, mostra 12 na caixa de alerta.
Nota: não há nenhum ponto e vírgula no argumento eval () logo após o número 12 antes dos veados de fechamento da função eval (). Considere a seguinte declaração: yourVar = 12; O script a seguir é executado sem qualquer problema. A primeira linha do script declara a variável, yourVar e tem o inteiro literal 12 atribuído a ele. A segunda declaração tem uma função eval (). O argumento desta função adiciona o número 3 para a variável, yourVar e atribui o resultado à nova variável, myVar. Assim, o argumento tem uma declaração, com uma variável que tem um valor atribuído anteriormente.
O que eu quero enfatizar aqui é que nós estamos usando uma variável declarada anteriormente, no argumento eval () na forma ordinária. O código funciona sem qualquer problema. Novamente, não há nenhum ponto e vírgula no argumento eval (), pouco antes do colchete de fechamento. Agora, considere a seguinte declaraç