Perceber:
1. Como você está estudando a tecnologia JavaScript, aqui tomamos o JavaScript como exemplo. Você pode experimentar no PHP.
2. A sintaxe do JavaScript é relativamente complicada, então tome o JavaScript como exemplo.
Recentemente, li o livro Javascript Guide, que devo dizer que é muito sério sobre a leitura, então eu queria gravar mais do que aprendi. voltar
Escreverei gradualmente mais artigos sobre este livro.
O conhecimento teórico deste artigo vem do Guia de JavaScript autoritário. Vou organizá -lo aqui ou chamá -lo de notas.
Se sua fundação for boa o suficiente, não será um problema entendê -la completamente, mas se você lê um pouco deprimido, poderá adicionar meu QQ: 76863715
A premissa de ler este artigo é que você pode distinguir o que são expressões e quais são as declarações. Também há claro o que são principalmente operadores e operadores. Lugar
O termo expressão é uma "frase" JavaScript, que o intérprete JavaScript pode calcular para gerar um valor. Expressões podem
É dividido nos três tipos a seguir:
1) Quantidade direta, como 1,7, é uma quantidade direta de números, "JavaScript Autoritative Guide" é uma quantidade direta de string, etc.
2) variáveis
O valor da expressão de quantidade direta é a própria quantidade direta, e o valor da expressão variável é o valor armazenado ou referenciado pela variável.
3) Você pode "mesclar" as expressões "simples" mencionadas acima para criá -las como expressões relativamente complexas. Por exemplo, 1.7 é uma expressão, eu também é uma expressão, e o código a seguir mostra o mesmo (também pode ser chamado) expressão:
I+1.7
O valor da expressão acima é a soma de duas expressões simples (uma expressão variável e uma expressão simples). Neste exemplo, "+" é um operador que combina duas expressões simples para formar uma expressão complexa.
Número de operações
Os operadores podem ser classificados de acordo com o número de operações exigidas pelo operador. A maioria dos operadores são operadores binários, que combinam duas "expressões" em uma expressão complexa. Em suma, possui dois números aritméticos. Além disso, o JavaScript suporta um grande número de operadores unários, que podem converter uma expressão em outra expressão mais complexa. Por exemplo, na expressão -3, o operador " -" é um operador unário e executa uma operação para inverver o número da operação.
O JavaScript também suporta o operador ternário "?:", Que pode mesclar três expressões em uma expressão complexa.
OK, vamos começar a explicar o operador de vírgula.
O operador de vírgula, que primeiro calcula o parâmetro à esquerda e calcula o valor do parâmetro à direita. Em seguida, retorne o valor do parâmetro mais à direita.
Os exemplos dados no livro original não são muito bons e não podem explicar a frase acima. Aqui está outro:
<SCRIPT> var a = 10, b = 20; function commatest () {return a ++, b ++, 10;} var c = COMMATEST (); alerta (a); // retorna 11Aert (b); // retorna 21Alert (c); // retorna 10 </sCript>O valor da variável C é o valor retornado pelo comando da função e A e B adicionam 1.
Conflito entre operador de vírgula e operador de chamada de função
No JavaScript, as chamadas de função são realmente operadoras de chamadas de função. É muito especial porque nunca há esse nome em outros materiais de linguagem de programação. Então, (isto é), ele não possui um número fixo de operações.
O primeiro parâmetro do operador de chamada de função é um nome de função ou uma expressão que faz referência à função, seguida por colchetes (). O número de operadores no meio dos colchetes pode ser variado, e esses operandos podem ser qualquer expressão separada por vírgulas.
O operador de chamada de função calculará cada uma de suas operações, a primeira operação é especificada como o nome da função (antes dos colchetes) e os valores de todas as operações no meio dos colchetes serão passados para essa função como um parâmetro para a função.
Por exemplo:
document.close () math.sin (x) alert ("welcome" + name) date.utc (2000, 11, 31, 23, 59, 59) funcs.f (funcs.args [0], funcs.args [1])Depois de saber que os operadores de função de chamada, vamos dar um exemplo de como lidar com seus conflitos.
<cript> alerta (2*5, 2*4); // Saída 10 </script>
O código acima é produz 10, mas se explicado de acordo com o princípio do operador de vírgula, ele deve produzir 8. Por quê?
Como o operador de vírgula é a menor prioridade no JavaScript, é muito útil lembrar disso. Portanto, o operador de chamada de função será executado antes do operador de vírgula. A função de alerta de resultado gera o valor do primeiro parâmetro. Altere o código acima para o seguinte.
<cript> alerta ((2*5, 2*4)); // retorna a 8 </sCript>
Conflito entre operador de vírgula e operação de atribuição
No JavaScript, o operador de vírgula tem uma prioridade melhor que o operador de atribuição. Por favor, veja o código abaixo.
<Cript> var a = 20; var b = ++ a, 10; alerta (b); </script>
Esse código não parece ser executado, provavelmente porque o operador de atribuição executa precedência sobre a expressão de vírgula, se o código for alterado para
<Cript> var a = 20; var b = (++ a, 10); alerta (b); </script>
Apenas faça.
Vamos explicar o "possível" mencionado acima aqui. Estes são alguns dos meus pontos de vista e podem não ser autoritários.
O operador de vírgula exige que seu operando seja uma expressão complexa ou uma expressão simples (como uma variável ou uma quantidade direta), mas como o operador de atribuição tem precedência sobre o operador de vírgula, ela não se torna um operando ou uma expressão à esquerda, mas uma declaração contendo a palavra -chave Var
Código que não pôde ser executado antes pode ser considerado como o seguinte código:
<Cript> var a = 20; (var b = ++ a), 10; alerta (b); </script>
Existem declarações de expressão na declaração, mas nem todas as declarações são expressões.
###############–#####################################################################################D####################d###################d##############################d#####################################d########ws
1. Características e funções dos operadores de vírgula
O operador de vírgula deve concatenar várias expressões. Sua prioridade é a mais baixa entre todos os operadores, e a direção de ligação é "da esquerda para a direita".
Por exemplo: 3*3, 4*4
2. Expressão de vírgula
A forma geral de expressão de vírgula é: expressão 1, expressão 2, expressão 3 ... expressão n
O processo de solução de expressão de vírgula é: primeiro calcule o valor da expressão 1 e depois calcule o valor da expressão 2 e ... até o valor da expressão n. Finalmente, o valor de toda a expressão de vírgula é o valor da expressão n.
Veja os seguintes exemplos:
x = 8*2, x*4 /*O valor de toda a expressão é 64 e o valor de x é 16* /
(x = 8*2, x*4), x*2 /*O valor de toda a expressão é 128 e o valor de x é 16* /
x = (z = 5,5*2) /*A expressão inteira é uma expressão de atribuição, seu valor é 10 e o valor de z é 5* /
x = z = 5,5*2 /*A expressão inteira é uma expressão de vírgula, seu valor é 10 e os valores de x e z são 5* /
Não há muitos lugares para usar expressões de vírgula, e elas geralmente são usadas apenas ao atribuir valores iniciais para loop variáveis. Portanto, nem todas as vírgulas de um programa devem ser consideradas operadoras de vírgula, especialmente ao chamar uma função, cada parâmetro é separado por uma vírgula e a vírgula não é um operador de vírgula.
Por exemplo: printf ("%d,%d,%d", x, y, z);
##############D############################################################################################d#####omas
O operador faz com que as expressões de ambos os lados sejam executadas em ordem da esquerda para a direita e obtém o valor da expressão à direita. , O uso mais comum dos operadores deve ser usado em expressões incrementais de loops. Por exemplo:
for (i = 0; i <10; i ++, j ++) {k = i+j;}Cada vez que passa pelo final do loop, a instrução for permite que apenas uma única expressão seja executada. , os operadores são usados para permitir que múltiplas expressões sejam tratadas como uma única expressão, contornando assim essa limitação.
O artigo acima discute brevemente o uso dos operadores de vírgula no JS é todo o conteúdo que compartilhei com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.