Las palabras anteriores
Hay 46 operadores en JavaScript. Además de los operadores aritméticos, operadores relacionales, operadores de bits y operadores lógicos mencionados anteriormente, hay muchos operadores. Este artículo introducirá operadores condicionales, operadores de coma, operadores de asignación, () y operadores vacíos
Operador condicional
El operador condicional es el único operador ternario (tres operandos) en JavaScript, y a veces se llama 'operador ternario' directamente. Por lo general, este operador está escrito como '?:', Por supuesto, a menudo no se abrevia en el código, porque este operador tiene tres operandos, ¿el primer operando es antes ''? ', ¿El segundo operando está entre'? ' y ':', y el tercer operando es después ':'
variable = boolean_expression? true_value: false_value;
Esencialmente, esto se basa en el resultado de la evaluación de boolean_expression, que determina qué valor para la variable variable. Si el resultado de la evaluación es verdadero, la variable variable variable se asigna true_value; Si el resultado de la evaluación es falso, entonces la variable variable se asigna false_value_value
El operando del operador condicional puede ser de cualquier tipo, el primer operando se trata como un valor booleano, y si es cierto, el segundo operando se calculará y su resultado de cálculo se devolverá. De lo contrario, si el primer operando es un valor falso, se calcula el tercer operando y se devuelve su resultado de cálculo. El segundo y tercer operandos siempre calculan uno de ellos, y es imposible ejecutar ambos al mismo tiempo.
De hecho, el uso de las declaraciones si también traerá el mismo efecto, el operador ':' solo proporciona un formulario en taquigrafía. Aquí hay un escenario de aplicación típico para ':', para determinar si una variable está definida (y tiene un valor de verdad significativo), úselo si hay una definición y use un valor predeterminado si no hay definición:
saludo = 'hola' + (nombre de usuario? Nombre de usuario: 'allí');
Esto es equivalente al siguiente código utilizando la instrucción IF, pero obviamente el código anterior es más conciso:
saludo = 'hola'; if (nombre de usuario) saludo += nombre de usuario; else saludo += 'allí';
La expresión condicional ternaria tiene el mismo efecto de expresión que la declaración if ... else, pero hay una diferencia significativa entre los dos. Si ... de lo contrario es una declaración y no tiene valor de retorno; La expresión condicional ternaria es una expresión y tiene un valor de retorno. Por lo tanto, en los casos en que se requiere el valor de retorno, solo puede usar expresiones condicionales ternarias, y no si ... de lo contrario
console.log (verdadero? 't': 'f');
En el código anterior, el parámetro del método consola.log debe ser una expresión, y solo se pueden usar expresiones condicionales ternarias.
Operador de comas
El operador de coma es un operador binario, y su operando puede ser de cualquier tipo. Primero calcula el operando izquierdo, luego calcula el operando derecho y finalmente devuelve el valor del operando derecho. Use el operador de coma para realizar múltiples operaciones en una declaración
i = 0, j = 1, k = 2; // El resultado del cálculo es 2, que es básicamente equivalente al código a continuación i = 0; j = 1; k = 2;
Los operadores de comas a menudo se usan para declarar múltiples variables
var inum1 = 1, inum = 2, inum3 = 3;
El escenario más común para los operadores de coma está en un bucle for, que generalmente tiene múltiples variables de bucle:
// La primera coma en el bucle for bucle es parte de la declaración VAR // La segunda coma es el operador de coma // pone dos expresiones (i ++ y j--) en una declaración para (var i = 0, j = 10; i <j; i ++, j-) {console.log (i+j);}El operador de coma también se puede usar para la asignación, y cuando se usa para la asignación, el operador de coma siempre devuelve el último elemento en la expresión.
var num = (1,2,3,4,5); console.log (num); // 5
[Nota] Elimine los soportes e informará un error
Operador de asignación
Un operador de asignación simple está representado por el signo igual '=', que asigna el valor a la derecha del signo igual a la variable o atributo a la izquierda del signo igual.
i = o; ox = 1;
El operador '=' espera que su operando izquierdo sea un LValue: un atributo variable u objeto (o elemento de matriz). Su operando correcto puede ser cualquier valor de cualquier tipo. El valor de la expresión de asignación es el valor del operando correcto
Aunque las expresiones de asignación suelen ser muy simples, a veces aún verá algunas expresiones complejas que contienen expresiones de asignación. Por ejemplo, puede poner a los operadores de asignación y relacionales en una expresión, como esta:
(a = b) == 0
Si hace esto, debe saber claramente la diferencia entre los operadores '=' y '=='. '=' tiene muy baja prioridad. Por lo general, cuando se usa un valor de una declaración de asignación en una expresión más larga, se deben agregar paréntesis para garantizar el orden correcto de las operaciones.
La naturaleza vinculante del operador de asignación es de derecha a izquierda, es decir, si aparecen operadores de asignación múltiples en una expresión, el orden de operación es de derecha a izquierda. Por lo tanto, se pueden asignar múltiples variables de la siguiente manera:
i = j = k = 0; // Inicializa tres variables a 0
JavaScript también proporciona 11 operadores de asignación de compuestos. Estos operadores de asignación de compuestos son todas operaciones especificadas primero y luego devuelven el valor obtenido a la variable a la izquierda.
[Nota] El propósito de diseñar estos operadores es simplificar las operaciones de asignación, y usarlas no traerá ninguna mejoría de rendimiento.
Total + = Sales_Tax; // equivalente a Total = Total + Sales_Tax;
El ejemplo del operador es 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 >> = ba = a >> b >> = a >> = a >>>> b & = a & = ba = a & b | = a | = ba = a | b^= a^= ba = a^b
En la mayoría de los casos, la expresión es:
A OP = B
Aquí OP representa un operador, y esta expresión es equivalente a la siguiente expresión
A = A OP B
En la primera línea, la expresión A se calcula una vez, y en la segunda línea, la expresión A se calcula dos veces. Solo cuando A contenga expresiones con efectos secundarios (como llamadas de función y operaciones de asignación)
datos [i ++]*= 2; datos [i ++] = data [i ++]*2;
Operador de soporte
Hay dos usos del operador del soporte: si la expresión se coloca entre paréntesis, la función es evaluar; Si es seguido por una función, la función es llamar a la función.
Poner la expresión entre paréntesis y devolver el valor de la expresión
console.log ((1)); //1console.log(('a ')); //'a'console.log((1+2)); // 3Poner el objeto entre paréntesis devolverá el valor del objeto, es decir, el objeto en sí mismo
var o = {p: 1}; console.log ((o)); // objeto {p: 1}Poner la función entre paréntesis devuelve la función misma. Si los paréntesis siguen la función, significa llamar a la función, es decir, evaluar la función
función f () {return 1;} console.log ((f)); // función f () {return 1;} console.log (f ()); // 1Dado que el propósito de los paréntesis es evaluar, si la declaración se coloca entre paréntesis, se informará un error porque la declaración no devuelve el valor
console.log (var a = 1); // syntaxError: token inesperado varconsole.log ((var a = 1)); // syntaxError: token inesperado var
operador vacío
Void es un operador unario. Aparece antes de un operando. El operando puede ser de cualquier tipo. El operando se calculará como de costumbre, pero el resultado del cálculo se ignora y se devuelve indefinido. Dado que Void ignora el valor de los operandos, use Void cuando los operandos tengan efectos secundarios para que el programa sea más semántico
console.log (void 0); // UndefinedConsole.log (void (0)); // indefinido
【Función 1】 Reemplazar indefinido
Dado que Undefined no es una palabra clave, se reescribirá en el navegador IE8 y en el alcance de las funciones de versiones superiores; Por lo tanto, undefinado puede reemplazarse por el vacío 0
var indefinido = 10; console.log (indefinido); // ie8-it es 10 debajo del navegador, y la función indefinida t () {var indefinida = 10; console.log (indefinido);} console.log (t ()); // es 10 bajo todos los navegadores【Rol 2】 URL del cliente
Este operador se usa más comúnmente en URL del cliente - JavaScript: URL. Las expresiones con efectos secundarios se pueden escribir en la URL, mientras que el vacío permite que el navegador evite mostrar los resultados del cálculo de esta expresión. Por ejemplo, el operador vacío se usa a menudo en la etiqueta <a> en código HTML
<a href = "javascript: void window.open ();"> Abra una nueva ventana </a>
【Efecto tres】 Bloque de eventos predeterminados
La forma de bloquear el evento predeterminado es establecer el valor de retorno en falso.
// Método de escritura general <a href = "http://example.com" onClick = "f (); return false;"> texto </a>
Use el operador vacío para reemplazar el método de escritura anterior
<a href = "javaScript: void (f ())"> texto </a>
El artículo anterior discute brevemente a los operadores de JavaScript: las condiciones, las comas, la asignación, () y los operadores vacíos son todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.