Las palabras anteriores
JavaScript es un lenguaje simple y un lenguaje complejo. Es simple porque solo lleva un momento aprender a usarlo; Es complicado porque lleva años dominarlo realmente. De hecho, los ingenieros front-end se refieren a los ingenieros de JavaScript en gran medida. Es fácil comenzar con el front-end y difícil de dominar. Se refiere al front-end, y lo más importante, JavaScript. Este artículo es el primer artículo en gramática básica de JavaScript: estructura léxica
Relación con Java
Hay tal dicho sobre JavaScript: la relación entre Java y JavaScript es la relación entre Lei Feng y Lei Feng Tower. Entonces, ¿importa?
El nombre inicial de JavaScript fue LiveScript. La razón por la que elegí JavaScript como su nombre oficial era probablemente para que parezca una familia famosa. Además de la sintaxis que se parece a Java, JavaScript y Java son dos lenguajes de programación completamente diferentes.
Los lenguajes de programación se dividen en dos categorías: interpretados y compilados. Los idiomas como Java o C ++ requieren un compilador. Un compilador es un programa que puede traducir el código fuente escrito en idiomas de alto nivel, como Java, en archivos que se ejecutan directamente en la computadora. Los lenguajes de programación interpretados no requieren compiladores: solo requieren intérpretes, y el intérprete JavaScript en el navegador se leerá directamente en el código fuente y lo ejecutará.
Java se puede implementar teóricamente en casi cualquier entorno, pero JavaScript tiende a aplicarse solo a los navegadores web. Además, en el lenguaje JavaScript, las funciones son tipos de datos independientes, utilizando cadenas de herencia basadas en objetos prototipo, y la sintaxis de JavaScript es mucho más libre que Java.
Básicamente, el significado original del nombre JavaScript es "muy similar al lenguaje de secuencias de comandos Java"
definición
JavaScript es un lenguaje de programación interpretado de tipo dinámico y débil que es muy adecuado para los estilos de programación funcional y orientados a objetos. La sintaxis de JavaScript proviene de Java, su función de primera clase proviene del esquema y su herencia basada en prototipos proviene de sí mismo
JavaScript se utiliza para mejorar el efecto dinámico de la página y realizar una interacción en tiempo real y dinámica entre la página y el usuario.
JavaScript consta de tres partes: Ecmascript, DOM y BOM
[1] ECMAScript está definido por ECMA-262 y proporciona funciones de idiomas centrales (ECMA es la Asociación Europea de Fabricantes de Computadores)
[2] DOM (modelo de objeto de documento) Modelo de objetos de documento, que proporciona métodos e interfaces para acceder y manipular el contenido de la página web
[3] Modelo de objeto de navegador BOM (navegador), proporcionando métodos e interfaces para interactuar con el navegador
Sensibilidad de casos
Con respecto al lenguaje JavaScript, no importa cuánto se enfatice, es la sensibilidad de los casos. Las palabras clave, las variables, los nombres de funciones y todos los identificadores en JavaScript deben ser consistentes en la caja superior y en minúsculas.
// 'en línea', 'en línea', 'en línea', 'en línea' son cuatro nombres de variables diferentes
[Nota] HTML no es sensible a las casas
Palabra reservada
Al igual que cualquier otro lenguaje de programación, JavaScript conserva algunos identificadores para su propio uso. Estas palabras reservadas no pueden usarse como identificadores ordinarios. Debido al engañoso de muchos libros de referencia, parece que las palabras reservadas y las palabras clave están separadas, pero de hecho, no lo son. Las palabras clave son solo parte de las palabras reservadas. Las palabras reservadas incluyen palabras clave, futuras palabras reservadas, literales vacíos y literales booleanos
Palabra reservada ::
Palabra clave
Palabra de FutureServed
Nulo
Booleanliteral
Palabras clave
romper la instancia de typeof
Caso más nuevo var
Catch Finalmente regresa Void
Continuar para Switch mientras
Depurger funcione esto con
predeterminado si lanzar eliminación
en prueba
Palabras reservadas futuras
Las siguientes palabras se usan como palabras clave de extensión sugeridas y, por lo tanto, se reservan para que estas extensiones puedan adoptarse en el futuro.
clase enum se extiende super
Importación de exportaciones de constante
Versión de ECMAScript3
Las anteriores son palabras reservadas para ECMAScript5, pero las palabras reservadas en la versión ECMAScript3 son diferentes. Si desea que el código se ejecute en un intérprete basado en la implementación de ECMAScript3, debe evitar usar las siguientes palabras reservadas como identificadores.
Resumen Boolean Byte Char Class ConstDouble Enum Export extiende el flotador final
GOTO implementa importar int interfacelong paquete nativo protegido
Público corto estático súper sincronizado Volátil transitorio
Variables y funciones predefinidas
Además, JavaScript predefinió muchas variables y funciones globales, y debe evitar usar sus nombres como nombres de identificadores
argumentos matrices fecha booleana decodeuri decodeuricomponent encodeuriencodeuricomponent Error Eval Evalerror Función Infinity IsFinite
ISNAN JSON MATH NAN Número Objeto Parsefloat Parseint RangeError
ReferenceError REGEXP Cadena SyntaxError typeError Urierror indefinido
Comentario
No todas las declaraciones deben ser interpretadas y ejecutadas por el intérprete JavaScript. A veces debe escribir información en el script para su propia referencia o recordatorio, y esperar que el intérprete JavaScript pueda ignorar directamente esta información. Este tipo de información es comentarios
Los comentarios pueden ayudar efectivamente a comprender el flujo de código, y juegan el papel de la nota de vida en el código, lo que puede ayudarnos a descubrir qué hacen los scripts.
[Nota] Los comentarios deben describir el código con precisión. Los comentarios inútiles son peores que no hay comentarios
Hay muchas formas de insertar comentarios en los scripts de JavaScript, que incluyen comentarios de una sola línea, comentarios de varias líneas y comentarios de estilo HTML
【1】 Comentarios de una sola línea comienza con dos barras
// comentario de una sola línea
【2】 Los comentarios de varias líneas también se llaman comentarios a nivel de bloque, comenzando con un corte y un asterisco/*, que termina con un asterisco y un corte*/
/*
Este es un comentario de múltiples líneas
*/
[Nota] Esos caracteres en comentarios a nivel de bloque/ **/ también pueden aparecer en literales de expresión regulares, por lo que los comentarios a nivel de bloque no son seguros para los bloques de código comentados.
/*
var rm_a = /a*/.match(s);
*/
【3】 Los comentarios de estilo HTML solo son aplicables a los comentarios de una sola línea. De hecho, el intérprete de JavaScript maneja <!- y //
<!- Este es un comentario en JavaScript
Si está en documentos HTML, también debe finalizar el comentario con ->
<!-Este es un comentario en html->
Pero JavaScript no requiere esto, tratará -> como parte del contenido de comentarios
[Nota] HTML permite que los comentarios como este anteriormente abarcan múltiples líneas, pero cada línea de dichos comentarios debe agregarse como una bandera al comienzo del comentario "<!-"
<!- soy comentario 1
<!- soy comentario 2
<!- soy comentario 3
Debido a que el intérprete JavaScript es diferente de HTML cuando se trata de comentarios en este estilo, es mejor no usarlo en los scripts de JavaScript para evitar confusiones.
Comentarios de estilo HTML
Whitepace
Los espacios en blanco generalmente no tienen sentido, a veces tienen que separarse al usarlo, de lo contrario se fusionarán en un símbolo.
var que = esto;
Los espacios en blanco entre VAR y que no se pueden eliminar, pero se pueden eliminar otros espacios en blanco
JavaScript ignora los espacios entre los tokens en el programa. En la mayoría de los casos, JavaScript también ignora los descansos de línea. Dado que los espacios y los descansos de línea se pueden usar a voluntad en el código, se puede usar la sangría ordenada y consistente para formar un estilo de codificación unificado, mejorando así la legibilidad del código
// Mejora la legibilidad del código agregando caracteres en blanco para (var i = 1; i <10; i ++) {//}JavaScript reconoce lo siguiente como caracteres en blanco. Whitespace
/U0009 Tab de pestaña Horizontal <BAB>
/U000B Tab de pestaña VERTICA <VT>
/Cambio de página U000C <ff>
/U0020 CARÁCTER DE ESPACIO <Sp>
/U00A0 CARÁCTER DE ESPACIO NO INTERRUPTA <NBSP>
/Ufeff Marca de orden de personaje
JavaScript reconoce a los siguientes caracteres como Line Terminator LineTerminator
/U000A NEWLINE CARACTER <LF>
/U000D CARACTURO DE RETRAJE <CR>
/U2028 Delimitador de línea <ls>
/U2029 Splitter de párrafo <Sc>
Semicolon opcional
JavaScript usa semicolones; separa las declaraciones, lo cual es muy importante para mejorar la legibilidad y la ordenación del código. Pero JavaScript no llena las semicolones en todas las nuevas líneas. Solo cuando el código no se puede analizar correctamente sin el punto y coma, JavaScript llenará las semicolones.
var
a
=
3
console.log (a)
JavaScript lo analiza como:
var a;
a = 3;
console.log (a);
Esta regla de separación de declaraciones puede conducir a algunas situaciones inesperadas.
var y = x + f
(a+b) .tostring
JavaScript lo analiza como:
var y = x + f (a + b) .tostring
Por lo tanto, para permitir que el código anterior se analice en dos declaraciones diferentes, el semicolon explícito al final de la línea debe completarse manualmente al final de la línea
Dos excepciones
Si la declaración actual y la siguiente línea de la línea no se pueden fusionar y analizar, JavaScript completará el punto y coma después de la primera línea, que es una regla común, pero hay dos excepciones
[1] La primera excepción está en el escenario que involucra regresar, romper, continuar, tirar declaraciones. Si estas cuatro palabras clave son seguidas por un descanso de línea, JavaScript completará el punto y coma en el descanso de la línea
Devolver
verdadero;
JavaScript lo analiza como:
regreso; verdadero;
Y el significado original del código es:
devolver verdadero;
[2] La segunda excepción es que cuando los operadores ++ y - están involucrados, si se usa como una expresión de sufijo, debe ser la misma línea que la expresión. De lo contrario, el final de la línea llenará el punto y coma, y ++ o - se utilizará como operador de prefijo para la siguiente línea de código y se analizará con él
incógnita
++
Y
JavaScript lo analiza como:
x; ++ y;
Y el significado original del código es:
x ++; y;
Aunque los semicolones no son necesarios, es mejor no omitirlo, ya que agregar semicolones puede evitar muchos errores, y no tener semicolones al final de la línea de código conducirá a errores de compresión. Agregar un punto y coma también mejorará el rendimiento del código en algunos casos, porque el analizador ya no tendrá que pasar tiempo adivinando dónde insertar un punto y coma.