As palavras anteriores
Existem 46 operadores em JavaScript. Além dos operadores aritméticos, operadores relacionais, operadores de bits e operadores lógicos mencionados anteriormente, existem muitos operadores. Este artigo apresentará operadores condicionais, operadores de vírgula, operadores de atribuição, () e operadores de vazios
Operador condicional
O operador condicional é o único operador ternário (três operandos) em JavaScript e às vezes é chamado diretamente de 'operador ternário'. Normalmente, esse operador é escrito como '?:', é claro, geralmente não é abreviado no código, porque esse operador tem três operandos, o primeiro operando é antes '?', O segundo operando está entre '?' e ':', e o terceiro operando está depois ':'
variável = boolean_expression? true_value: false_value;
Essencialmente, isso se baseia no resultado da avaliação do Boolean_Expression, que determina qual valor para a variável variável. Se o resultado da avaliação for verdadeiro, a variável variável variável será atribuída True_Value; Se o resultado da avaliação for falso, a variável variável será atribuída falsa_value_value
O operando do operador condicional pode ser de qualquer tipo, o primeiro operando é tratado como um valor booleano e, se for verdadeiro, o segundo operando será calculado e seu resultado de cálculo será retornado. Caso contrário, se o primeiro operando for um valor falso, o terceiro operando será calculado e seu resultado de cálculo será retornado. O segundo e o terceiro operando sempre calculam um deles, e é impossível executar ambos ao mesmo tempo.
De fato, o uso de instruções se também trará o mesmo efeito, o operador '?:' fornece apenas um formulário de abreviação. Aqui está um cenário de aplicação típico para '?:', para determinar se uma variável é definida (e tem um valor de verdade significativo), use -o se houver uma definição e use um valor padrão se não houver definição:
Saudação = 'Olá' + (nome de usuário? Nome de usuário: 'lá');
Isso é equivalente ao código abaixo usando a instrução IF, mas obviamente o código acima é mais conciso:
Saudação = 'Hello'; se (nome de usuário) saudação += nome de usuário; caso contrário, cumprimentando += 'lá';
A expressão condicional ternária tem o mesmo efeito de expressão que a declaração se ... else, mas há uma diferença significativa entre os dois. Se ... else for uma declaração e não tem valor de retorno; A expressão condicional ternária é uma expressão e tem um valor de retorno. Portanto, nos casos em que o valor de retorno é necessário, você só pode usar expressões condicionais ternárias, e não se ... mais
console.log (true? 't': 'f');
No código acima, o parâmetro do método do console.log deve ser uma expressão e apenas expressões condicionais ternárias podem ser usadas.
Operador de vírgula
O operador de vírgula é um operador binário e seu operando pode ser de qualquer tipo. Primeiro, ele calcula o operando esquerdo e calcula o operando correto e finalmente retorna o valor do operando correto. Use o operador de vírgula para executar várias operações em uma declaração
i = 0, j = 1, k = 2; // O resultado do cálculo é 2, que é basicamente equivalente ao código abaixo de i = 0; j = 1; k = 2;
Os operadores de vírgula são frequentemente usados para declarar várias variáveis
var inum1 = 1, inum = 2, inum3 = 3;
O cenário mais comum para os operadores de vírgula está em um loop for, que geralmente possui várias variáveis de loop:
// O primeiro vírgula no loop for parte da instrução VAR // O Segundo vírgula é o operador de vírgula // coloca duas expressões (i ++ e j--) em uma declaração para (var i = 0, j = 10; i <j; i ++, j-) {console.log (i+j);}O operador de vírgula também pode ser usado para atribuição e, quando usado para atribuição, o operador de vírgula sempre retorna o último item na expressão.
var num = (1,2,3,4,5); console.log (num); // 5
[Nota] Remova os colchetes e relatará um erro
Operador de atribuição
Um operador de atribuição simples é representado pelo sinal igual '=', que atribui o valor à direita do sinal igual à variável ou atributo à esquerda do sinal igual.
i = o; ox = 1;
O operador '=' espera que seu operando esquerdo seja um lvalue: um atributo de variável ou objeto (ou elemento da matriz). Seu operando certo pode ser qualquer valor de qualquer tipo. O valor da expressão de atribuição é o valor do operando correto
Embora as expressões de atribuição sejam geralmente muito simples, às vezes você ainda verá algumas expressões complexas contendo expressões de atribuição. Por exemplo, você pode colocar operadores de atribuição e relacional em uma expressão, assim:
(a = b) == 0
Se você fizer isso, deve saber claramente a diferença entre os operadores '=' e '=='. '=' tem prioridade muito baixa. Geralmente, quando um valor de uma instrução de atribuição é usado em uma expressão mais longa, os parênteses precisam ser adicionados para garantir a ordem correta das operações.
A natureza vinculativa do operador de atribuição é da direita para a esquerda, ou seja, se vários operadores de atribuição aparecerem em uma expressão, a ordem de operação é da direita para a esquerda. Portanto, várias variáveis podem ser atribuídas da seguinte maneira:
i = j = k = 0; // inicialize três variáveis para 0
O JavaScript também fornece 11 operadores de atribuição de compostos. Esses operadores de atribuição de compostos são todas as operações especificadas primeiro e, em seguida, retornam o valor obtido à variável à esquerda.
[Nota] O objetivo de projetar esses operadores é simplificar as operações de atribuição e usá -las não trará melhorias de desempenho.
total + = sales_tax; // equivalente a total = total + sales_tax;
O exemplo do operador é equivalente a+= a+= ba = a+b- = a- = ba = ab*= a*= ba = a*b/= a/= ba = a/b%= a%= ba = a%b << = a << = Ba = a << b >> = >> = a = a >> b >> = a> a>> a>> a> a>> a>> a>> a>> a>>> a>>>> A << = Ba = a << b >> = a >> = a = a >> b >> = a>> a>> a>> a>> a>> a>> a>> a>> a>> a>> a>> a >> = a> a>> a>> a>>> a>>>>>>>>>>>>>> A << = Ba = a << b >> = a >> = a = a >> B >> = a>> a> a>> a>> a>> a> a>> A> a & = ba = a & b | = a | = ba = a | b^= a^= ba = a^b
Na maioria dos casos, a expressão é:
a op = b
Aqui o OP representa um operador, e essa expressão é equivalente à seguinte expressão
a = a op b
Na primeira linha, a expressão A é calculada uma vez e, na segunda linha, a expressão A é calculada duas vezes. Somente quando A contém expressões com efeitos colaterais (como chamadas de função e operações de atribuição), os dois serão desigualdades
dados [i ++]*= 2; dados [i ++] = dados [i ++]*2;
Operador de suporte
Existem dois usos do operador de suporte: se a expressão for colocada entre parênteses, a função será avaliada; Se for seguido por uma função, a função é chamar a função.
Coloque a expressão entre parênteses e retorne o valor da expressão
console.log ((1)); //1console.log('a ')); //'a'console.log(1+2)); // 3Colocar o objeto entre parênteses retornará o valor do objeto, ou seja, o próprio objeto
var o = {p: 1}; console.log ((o)); // objeto {p: 1}Colocar a função entre parênteses retorna a própria função. Se os parênteses seguirem a função, significa chamar a função, ou seja, avaliar a função
função f () {return 1;} console.log ((f)); // função f () {return 1;} console.log (f ()); // 1Como o objetivo dos parênteses é avaliar, se a declaração for colocada nos parênteses, um erro será relatado porque a declaração não retorna o valor
console.log (var a = 1); // SyntaxeRor: token inesperado Varconsole.log ((var a = 1)); // SyntaxError: token inesperado Var
operador vazio
Void é um operador unário. Aparece antes de um operando. O operando pode ser de qualquer tipo. O operando será calculado como de costume, mas o resultado do cálculo é ignorado e indefinido é retornado. Como o Void ignora o valor dos operando, use o vazio quando os operando têm efeitos colaterais para tornar o programa mais semântico
console.log (void 0); // undefinedconsole.log (void (0)); // indefinido
【Função 1】 Substitua indefinida
Como indefinido não é uma palavra-chave, ela será reescrita no navegador IE8 e no escopo das funções de versão superior; portanto, indefinido pode ser substituído por vazio 0
var indefinido = 10; console.log (indefinido); // ie8-it está 10 sob o navegador e função indefinida t () {var indefinizada = 10; console.log (indefinido);} console.log (t ()); // está 10 sob todos os navegadores【Função 2】 URL do cliente
Este operador é mais comumente usado nos URLs do cliente - JavaScript: URL. Expressões com efeitos colaterais podem ser gravadas no URL, enquanto o vazio permite que o navegador evite exibir os resultados do cálculo dessa expressão. Por exemplo, o operador void é frequentemente usado na tag <a> no código HTML
<a href = "javascript: void window.open ();"> Abra uma nova janela </a>
【Efeito três】 Eventos padrão de bloqueio
A maneira de bloquear o evento padrão é definir o valor de retorno como false.
// Método de redação geral <a href = "http://example.com" onclick = "f (); retorna false;"> texto </a>
Use o operador de vazio para substituir o método de escrita acima
<a href = "javascript: void (f ())"> texto </a>
O artigo acima discute brevemente os operadores JavaScript - Condições, vírgulas, atribuições, () e operadores de vazios são todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.