Recientemente, al mirar el código frontal extranjero, descubrí que las nuevas características de ES6 se han vuelto bastante populares, especialmente Let, y las aplicaciones son muy comunes.
Aunque el uso de LET es el mismo que VAR, ha mejorado mucho en términos de sintaxis y semántica y rendimiento. Comparemos a partir de estos dos aspectos a continuación
Sintaxis >>
para (var i = 0; i <2; i ++) {console.log ('exterior i:'+i); para (var i = 0; i <2; i ++) {console.log ('interno i:'+i);}}Este es un bucle anidado común, todo el cual definen la variable I para contar, y el resultado de la ejecución es el siguiente:
Exterior I: 0
Inner I: 0
INTER I: 1
Puede ver que el bucle externo se interrumpe porque el valor de I está modificado por el bucle interno. La solución habitual es usar otras variables en el bucle interno, pero puede causar un error si accidentalmente
Ahora cambia var para dejar
para (let i = 0; i <2; i ++) {console.log ('externo i:'+i); para (let i = 0; i <2; i ++) {console.log ('interno i:'+i);}}El resultado de la salida es:
Exterior I: 0
Inner I: 0
Inner I: 1outer I: 1
Inner I: 0
INTER I: 1
Es normal, las capas internas y externas no tienen efecto, porque dejar que el alcance de la variable solo dentro de su propio bloque.
Ejemplo 2
console.log (a); var a = 'hi';
El resultado de salida no está definido. La ejecución de log (a) es antes de declarar la variable. ¿Por qué no hay error? Porque el efecto real de estas dos líneas de código es:
var a; console.log (a); a = 'hi';
Al analizar el código JS, la declaración de la variable se solicitará a la posición inicial, lo cual también es confuso
Después de usar en su lugar, no habrá problema, y se informará directamente un error.
console.log (a); // no capturado referenceError: A no está definido a = 'Hi';
Una simple prueba de rendimiento
var start = + new Date (); for (var i = 0; i <1000000; i ++) {var num = 123; var str = 'abc'; var obj = {key: 'value'}; var arr = [bill ',' dell '];} var end = + new date (); console.log (end - inicio);El resultado de la ejecución promedio en Firefox es de 53 ms
Cambio para dejar
'Use Strict'Var Start = + New Date (); for (var i = 0; i <1000000; i ++) {LET num = 123; let str =' ABC '; LET obj = {Key:' Value '}; LET arr = [' bill ',' dell '];} var end = + nueva fecha (); consolando.log (end - inicio);El resultado promedio es de 5 ms, y la aceleración es obvia
Lo anterior son las nuevas ventajas gramaticales de JavaScript6, dejó que el editor le presente. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!