Latest web development tutorials
×

JavaScript curso

JavaScript curso JavaScript breve introdução JavaScript uso JavaScript exportação JavaScript gramática JavaScript demonstrações JavaScript nota JavaScript variável JavaScript Tipos de dados JavaScript objetos JavaScript função JavaScript escopo JavaScript evento JavaScript corda JavaScript operadores JavaScript comparar JavaScript If...Else JavaScript switch JavaScript for JavaScript while JavaScript Break & Continue JavaScript typeof JavaScript tipo de conversão JavaScript Expressões regulares JavaScript erro JavaScript depuração JavaScript lift variável JavaScript Modo estrito JavaScript Uso indevido JavaScript Autenticação de formulários JavaScript Palavras-chave reservadas JavaScript JSON JavaScript void JavaScript Especificação código

JS função

JavaScript definição de função JavaScript Argumentos da função JavaScript chamada de função JavaScript Closures

JS HTML DOM

DOM breve introdução DOM HTML DOM CSS DOM evento DOM EventListener DOM elemento

JS Tutorial avançado

JavaScript objetos JavaScript Number JavaScript String JavaScript Date JavaScript Array JavaScript Boolean JavaScript Math JavaScript RegExp objetos

JS navegador BOM

JavaScript Window JavaScript Window Screen JavaScript Window Location JavaScript Window History JavaScript Navigator JavaScript estouro JavaScript cronometrado Evento JavaScript Cookies

JS armazém

JavaScript armazém JavaScript teste jQuery JavaScript teste Prototype

JS Exemplos

JavaScript Exemplos JavaScript instância do objeto JavaScript instância do objeto navegador JavaScript HTML DOM Exemplos JavaScript resumo

JS manual de referência

JavaScript objetos HTML DOM objetos

O uso inadequado de JavaScript

Neste capítulo, vamos discutir o uso de erros de JavaScript.


erro do operador a atribuição de aplicações

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:

var x = 0;
Se (x == 10)

tente »

if condicional retorna verdadeiro (não que se esperava) instrução é executada, porque as condições para a atribuição x 10,10 é verdade:

var x = 0;
Se (x = 10)

tente »

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:

var x = 0;
Se (x = 0)

tente »
nota Retorna o valor da atribuição de variável.

comparação Erros comuns

Em comparação convencional, o tipo de dados é ignorado, se a seguinte declaração condição retorna true:

var x = 10;
var y = "10";
Se (x == y)

tente »

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:

var x = 10;
var y = "10";
Se (x === y)

tente »

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:

var x = 10;
switch (x) {
caso 10: alert ( "Olá" );
}

tente »

Os exemplos a seguir são inconsistentes porque o tipo não executa popups de alerta:

var x = 10;
switch (x) {
caso "10": alert ( " Olá");
}

tente »

Adicionando e Considerações de conexão

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:

var x = 10 + 5; // x é 15 Resultados
var x = 10 + "5" ; Resultados // X é "105"

tente »

Usando variáveis ​​somando os resultados são inconsistentes:

var x = 10;
var y = 5;
var z = x + y; Resultados // z é 15

var x = 10;
var y = "5";
var z = x + y; Resultados // Z é "105"

tente »

Observe o uso de dados de ponto flutuante

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:

var x = 0,1;
var y = 0,2;
var z = x + y Resultados // z é de 0,3
se (Z == 0,3) // Retorna false

tente »

I resolver este problema, você pode usar uma multiplicação de inteiros e divisão para resolver:

Exemplos

var z = (x * 10 + y * 10) / 10; // resultado z é de 0,3

tente »

Ramos de cadeia do JavaScript

Usamos quebras de linha para executar instruções JavaScript no string:

exemplo 1

var x =
"World Olá!";

tente »

No entanto, na seqüência de retorno directamente o transporte está sendo dada para:

exemplo 2

var x = "Olá
Mundo! ";

tente »

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:

exemplo 3

var x = "Olá \
Mundo! ";

tente »

ponto e vírgula errada

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:

Se (x == 19);
{
// Bloco de código
}

tente »

Voltar Precauções declaração

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):

exemplo 1

myFunction função (a) {
poder var = 10
devolver um poder *
}

tente »

exemplo 2

myFunction função (a) {
var potência = 10;
devolver um poder *;
}

tente »

JavaScript também pode ser utilizada para terminar uma indicação de multi-linha.

Os exemplos a seguir retornam o mesmo resultado:

exemplo 3

myFunction função (a) {
var
potência = 10;
devolver um poder *;
}

tente »

No entanto, os seguintes exemplos de resultados são devolvidosindefinido:

exemplo 4

myFunction função (a) {
var
potência = 10;
retorno
um poder *;
}

tente »

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;
}

resolver

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.

notaNota: Não quebrar a linha da instrução de retorno.

Use um nomes de índice de matriz

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.

Exemplos

var person = [];
pessoa [0] = "John" ;
pessoa [1] = "Doe" ;
pessoa [2] = 46;
var x = person.length; // Person.length retorna 3
var y = pessoa [0]; // Pessoa [0] retorna "John"

tente »

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:

Exemplos

var person = [];
pessoa [ "Nome"] = " John";
pessoa [ "lastName"] = " Doe";
pessoa [ "idade"] = 46 ;
var x = person.length; // person.length retorna 0
var y = pessoa [0]; // Pessoa [0] retorna indefinido

tente »

Definir um elemento de matriz e, finalmente, não pode adicionar uma vírgula

Erros estão definidos:

points = [40, 100, 1, 5, 25, 10,];

A definição correta do caminho:

points = [40, 100, 1, 5, 25, 10];

Definir o objeto e, finalmente, não pode adicionar uma vírgula

Erros estão definidos:

websites = {site:"本教程", url:"www.w3big.com", like:460,}

A definição correta do caminho:

websites = {site:"本教程", url:"www.w3big.com", like:460}

Indefinida não nulo

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) 

escopo de bloco

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:

Exemplos

for (var i = 0; i <10; i ++) {
// Alguns códigos
}
voltar i;

tente »