Compartilhar via


Os scripts de solução de problemas

Todas as linguagens de programação incluem possíveis armadilhas e surpresas para iniciantes e usuários experientes.Aqui estão algumas áreas de problemas potenciais que podem ocorrer enquanto você gravar JScript scripts.

Erros de sintaxe

Como a sintaxe é muito mais rígida em linguagens que em idiomas de programação, é importante prestar estrita atenção aos detalhes quando você escreve scripts.Se, por exemplo, você pretende determinado parâmetro ser uma seqüência de caracteres, você encontrará problemas se você esquecer de colocar entre aspas.

Ordem de interpretação de script

Em uma página da Web, JScript interpretação depende do processo de análise de HTML do cada navegador. Um script dentro da marca <head>é interpretado antes do texto dentro da marca <body>.Conseqüentemente, objetos criados na marca <body>não existem quando o navegador analisa o elemento <head>e não pode ser manipulado pelo script.

Observação:

Esse comportamento é específico para o Internet Explorer.ASP e WSH têm modelos de execução diferente (sistema autônomo faria com outros hosts).

Coerção de tipo automático

JScript é uma linguagem sem rigidez de tipos com coerção automático. Conseqüentemente, apesar do fato de ter tipos diferentes de valores não são estritamente iguais, as expressões no exemplo a seguir avaliar true.

"100" == 100;
false == 0;

Para verificar que o tipo e o valor são os mesmos, use o operador de Igualdade estrita, ===.A seguir avalia como false:

"100" === 100;
false === 0;

Precedência de operador

A ordem de execução da operação durante a avaliação de uma expressão depende mais precedência de operador que da ordem de operadores na expressão.Assim, no exemplo a seguir, multiplicação é executada antes da subtração mesmo que apareça o operador de subtração antes do operador de multiplicação na expressão.

theRadius = aPerimeterPoint - theCenterpoint * theCorrectionFactor;

Para obter mais informações, consulte Precedência de operador.

Usando for... em loops com objetos

Quando um script percorre as propriedades de um objeto com um for…in loop, a ordem na qual os campos do objeto são atribuídos à variável de contador de loop não são necessariamente previsíveis ou controlável.Além disso, a ordem pode ser diferente em diferentes implementações da linguagem.Para obter mais informações, consulte for... ninstrução.

com a palavra-chave

Embora o with palavra-chave é conveniente para lidar com propriedades que já existem em um objeto especificado, não pode ser usado para adicionar propriedades a um objeto. Para criar novas propriedades em um objeto, você precisa referir-se ao objeto especificamente.Para obter mais informações, consulte com a instrução.

Esta palavra-chave

Embora o Isso palavra-chave existe dentro da definição de um objeto, normalmente não é possível usar Isso ou palavras-chave semelhantes para referir-se a função atualmente em execução se a função não é uma definição de objeto.Se for a função a ser atribuído a um objeto sistema autônomo um método, um script pode usar o Issopalavra-chave dentro da função para fazer referência o objeto.Para obter mais informações, consulte Isso instrução.

Escrever um script que grava um script no Internet Explorer ou no ASP.NET

O</script> marca encerra o script corrente se encontrar o interpretador-lo.Para exibir "</script>" propriamente dito, gravar isso sistema autônomo seqüências de dois ou mais, por exemplo, "< / SCR"e"IPT >", que o script pode concatenar, em seguida, a demonstrativo que sistema autônomo gravar-los.

Referências de janela implícito no Internet Explorer

Como a mais de uma janela pode ser aberta ao mesmo tempo, qualquer referência à janela que está implícita aponta para a janela corrente.Para Outros janelas, você deve usar uma referência explícita.

Consulte também

Tarefas

Escrevendo código JScript com o Visual Studio

Conceitos

JScript depuração com o Visual Studio

Outros recursos

Escrevendo, compilando e depurando código JScript