O melhor tutorial O uso inadequado de JavaScript em 2024. Neste tutorial você pode aprender erro do operador a atribuição de aplicações,comparação Erros comuns,Adicionando e Considerações de conexão,Observe o uso de dados de ponto flutuante,Ramos de cadeia do JavaScript,ponto e vírgula errada,Voltar Precauções declaração,Use um nomes de índice de matriz,Definir um elemento de matriz e, finalmente, não pode adicionar uma vírgula,Definir o objeto e, finalmente, não pode adicionar uma vírgula,Indefinida não nulo,escopo de bloco,
Neste capítulo, vamos discutir o uso de erros de JavaScript.
No programa JavaScript se você usar uma declaração condicional se o operador de atribuição é o sinal de igual (=) irá gerar um resultado de erro, a abordagem correta é usar uma comparação de dois sinais de igualdade (==).
if condicional retorna falso (esperamos), porque x não é igual a 10:
if condicional retorna verdadeiro (não que se esperava) instrução é executada, porque as condições para a atribuição x 10,10 é verdade:
if condicional retorna false (não o que esperávamos) instrução é executada, porque as condições para a atribuição x 0,0 é falsa:
Retorna o valor da atribuição de variável. |
Em comparação convencional, o tipo de dados é ignorado, se a seguinte declaração condição retorna true:
Na operação de comparação rigorosa, um cálculo identidade === operador, enquanto o valor da expressão de verificação de tipo, as seguintes condições if retornar false:
Este erro ocorre frequentemente na instrução switch, alternar declaração calculada usando o operador de identidade (===) foram comparados:
Os exemplos a seguir irá executar pop alerta:
Os exemplos a seguir são inconsistentes porque o tipo não executa popups de alerta:
A adição de dois números.
A seqüência de conexão para conectar os dois.
Adição e JavaScript são conectados usando o operador +.
Em seguida, podemos ver dois números juntos e conectado a uma sequência de números e distinção a título de exemplo:
Usando variáveis somando os resultados são inconsistentes:
JavaScript Todos os dados são baseados em 64-bit tipo de dados de ponto flutuante (float) para armazenar.
Todas as linguagens de programação, incluindo JavaScript, para precisão de ponto dos dados flutuante são difíceis de determinar:
I resolver este problema, você pode usar uma multiplicação de inteiros e divisão para resolver:
Usamos quebras de linha para executar instruções JavaScript no string:
No entanto, na seqüência de retorno directamente o transporte está sendo dada para:
Podemos escolher a ferramenta de desenvolvimento ou pressione F12 para ver a mensagem de erro:
quebras de linha seqüência precisa usar uma barra invertida (\), da seguinte forma:
O exemplo a seguir, uma vez que o errado ponto e vírgula, se o bloco de declaração de código não será executado:
JavaScript é o padrão automaticamente termina na última linha de código.
Os dois exemplos a seguir retornam o mesmo resultado (a não um ponto e vírgula):
JavaScript também pode ser utilizada para terminar uma indicação de multi-linha.
Os exemplos a seguir retornam o mesmo resultado:
No entanto, os seguintes exemplos de resultados são devolvidosindefinido:
Porque é que existe um tal resultado? Porque em JavaScript, exemplos de 4 código consistente e o seguinte código:
function myFunction(a) { var power = 10; return; // 分号结束,返回 undefined a * power; }
Se se trata de uma informação incompleta, como se segue:
var
JavaScript tentará ler a segunda instrução linha:
power = 10;
No entanto, porque esta declaração é completa:
return
JavaScript irá desligar automaticamente a declaração:
return;
Em JavaScript, o ponto e vírgula é opcional.
Desde o retorno é uma frase completa, ele vai desligar instrução de retorno JavaScript.
Nota: Não quebrar a linha da instrução de retorno. |
Muitas linguagens de programação permitem o uso do nome como o índice da matriz.
Para usar o nome como o índice da matriz é chamada uma matriz associativa (ou de hash).
O JavaScript não suporta a utilização do nome para matrizes índice, apenas um índice numérico.
Em JavaScript, use o nome do objeto como um índice.
Se você usar o nome como um índice ao acessar o array, JavaScript irá redefinir a matriz padrão de objetos.
Depois de realizar esta operação, métodos e propriedades da matriz não será mais usado, caso contrário ele irá gerar um erro:
Erros estão definidos:
points = [40, 100, 1, 5, 25, 10,];
A definição correta do caminho:
points = [40, 100, 1, 5, 25, 10];
Erros estão definidos:
websites = {site:"本教程", url:"www.w3write.com", like:460,}
A definição correta do caminho:
websites = {site:"本教程", url:"www.w3write.com", like:460}
Em JavaScript, null para objetos, indefinido para variáveis, propriedades e métodos.
Os objetos são definidos apenas possível, como null, caso contrário indefinido.
Se queremos testar se a presença do objeto, quando o objeto não está definido ainda irá lançar um erro.
O uso errado:
if (myObj !== null && typeof myObj !== "undefined")
O caminho certo é que precisamos usar typeof para detectar se um objeto foi definido:
if (typeof myObj !== "undefined" && myObj !== null)
O JavaScript não criar um novo escopo em cada bloco de código, o âmbito geral de cada bloco de código são globais.
O seguinte código variável i retorna 10 em vez de indefinida: