No1. Sintaxis y tipo
1. Definición de declaración
Tipo de variable: var, definir variable; Sea, defina variables locales en el dominio de bloque (alcance); const, defina constantes de solo lectura.
Formato de variable: comience con una letra, subrayado "_" o símbolo $, Sensitive de casos.
Asignación de variables: el valor de la variable declarada pero no asignada no está definido cuando se usa. El uso de la variable no declarada directamente lanzará una excepción.
Se calcula la variable no asignada: el resultado es Nan. Por ejemplo:
var x, y = 1;
console.log (x + y); // El resultado es Nan, porque X no tiene asignación.
2. Alcance
Alcance variable: no hay un campo de declaración de bloque antes de ES6, y las variables actúan sobre bloques de funciones o globalmente. Por ejemplo, el siguiente código ingresa a x como 5.
if (true) {var x = 5;} console.log (x); // 5ES6 Alcance variable: ES6 admite el alcance del bloque, pero requiere el uso de las variables de Declarar. El siguiente código genera la excepción.
if (true) {Let y = 5;} console.log (y); // referenceError: y no está definido1234Flotación variable: en un método o código global, cuando usamos variables antes de las variables de la vida, no lanzamos excepciones, sino que returamos indefinidos. Esto se debe a que JavaScript flota automáticamente la declaración de variables al frente de la función o global. Como se muestra en el siguiente código:
/*** Global Variable Float*/Console.log (x === Undefined); // registra "verdadero" var x = 3;/*** Método Variable Float*/var myvar = "my value"; // Imprime el resultado variable myvar es: undefined (function () {console.log (myvar); // undefinedvar myvar = "valor local";}) (); El código anterior es equivalente al siguiente código: /*** Global Variable Float* /var x; console.log (x === Undefined); // registra "verdadero" x = 3;/*** Método Variable Float*/var myvar = "mi valor"; (function () {var myvar; console.log (myvar); // undefinedmyvar = "valor local";}) ();Variables globales: en la página, el objeto global es la ventana, por lo que podemos acceder a la variable global a través de Window.variable. Por ejemplo:
versión = "1.0.0"; console.log (window.version); // Salida 1.0.0
No2. Estructura y tipo de datos
1. Tipo de datos
6 tipos básicos: booleano (verdadero o falso), nulo (js sensible a la caja, diferente de nulo y nulo), indefinido, número, cadena, símbolo (marca única e inmutable)
Un tipo de objeto: objeto.
Objeto y función: un objeto como contenedor de valores y una función como proceso de aplicación.
2. Conversión de datos
Función: los métodos de parseint y parsefloat se pueden usar para convertir una cadena en un número.
PARSEINT: La firma de la función es ParseInt (String, Radix), Radix es una cantidad de 2-36 que representa la base numérica, como decimal o hexadecimal. El resultado de retorno es entero o nan, por ejemplo, los siguientes resultados de salida son todos 15.
parseint ("0xf", 16); parseint ("f", 16); parseint ("17", 8); parseint (021, 8); parseint ("015", 10); parseint (15.99, 10); arseint ("15,123", 10); parseint ("fxx123", 16); parseint ("1111", "1111", "1111". 2); parseInt ("15*3", 10); parseint ("15e2", 10); parseInt ("15px", 10); parseint ("15px", 10); parseint ("15px", 10); parseint ("15px", 10); "15px", 10); parseint ("15px", 10); parxeint ("15px", "15px", "15px", Parseint ("15px", "15px", Parseint ", parseint (" 15px "," 15px ", parseint (" 15px ". 10); parseint ("15px", 10); parseint ("15px", 10); parseint ("15px", 10); parseint ("15px", 10);parsefloat: la firma de la función es parsefloat (cadena), y el resultado es un número o nan. Por ejemplo:
parsefloat ("3.14"); // devuelve el número parsefloat ("314e-2"); // devuelve el número parsefloat ("más caracteres no dígitos"); // devuelve el número nan3. Textualización de tipo de datos
Tipos texturizados: matriz, booleano, punto flotante, enteros, objeto, regexp, cadena.
Casos de coma adicionales en la matriz: ["Lion", "Ángel"], Longitud 3, el valor de [1] es unde de amigo. ['Home', 'School',], la última coma se omite, por lo que la duración es 3. [, 'Home', 'Escuela'], Longitud 4. ['Home', 'Escuela',,], Longitud 4.
Integer entero: los enteros se pueden expresar como decimales, octales, hexadecimales y binarios. Por ejemplo:
0, 117 y -345 // decimal 015, 0001 y -0o77 // octal 0x1123, 0x00111 y -0xf1a7 // hex 0b11, 0b0011 y -0b11 1234 // número de puntos flotantes binarios: [(+| -)] [dígitos] [. Digits] [(e | e) [((+| -)] Digits]. Por ejemplo: 3.1415926, -.123456789, -3.1e+12 (3100000000000), .1e -23 (1e -24)
Objeto: El valor de adquisición de propiedad de un objeto se puede obtener a través de ". Atributo" o "[Nombre del atributo]". Por ejemplo:
var car = {Manycars: {a: "saab", "b": "jeep"}, 7: "mazda"}; console.log (car.manycars.b); // jeepconsole.log (coche [7]); // mazdaAtributo del objeto: el nombre del atributo puede ser cualquier cadena o una cadena vacía, y los nombres no válidos pueden incluirse en las cotizaciones. Los nombres complejos no se pueden obtener a través de., Pero se pueden obtener a través de []. Por ejemplo:
var UnusualPropertynames = {"": "Una cadena vacía", "!": "Bang!"} Console.log (UnusualPropertynames. ""); // SyntaxError: inesperado StringConsole.log (UnusualPropertynames [""]); // un StringConsole.log vacío (UusualPropertynames.!); // sintaxError: token inesperado! Console.log (inusualPropertynames ["!"]); // ¡Estallido!Caracteres de transformación: Los siguientes resultados de salida de cadena contienen cotizaciones dobles porque se utiliza el símbolo de transformación "/" ".
var quote = "él lee/" La cremación de Sam McGee/"por RW Service"; Console.log (cita); // Salida: Lee "La cremación de Sam McGee" por RW Service.1.
Método de ruptura de línea de cadena: Agregar "/" directamente al final de la cadena, como se muestra en el siguiente código:
var str = "esta cadena /es roto /cruzar múltiples /líneas." Console.log (str); // Esta cadena está rota entre MultipLelines.
No3. Manejo de flujo y error de control
1. Bloque de expresión
Función: las expresiones de bloque generalmente se usan para controlar los flujos, como si, para y mientras. En el siguiente código, {x ++;} es una declaración de bloque.
while (x <10) {x ++;}No había alcance del dominio de bloque antes de ES6: antes de ES6, las variables definidas en bloques se incluyeron en los métodos o a nivel mundial, y la influencia de las variables excedió el alcance del alcance del bloque. Por ejemplo, el resultado de la ejecución final del siguiente código es 2, porque las variables declaradas en la Ley de Bloque sobre el método.
var x = 1; {var x = 2;} console.log (x); // salidas 2Después de ES6, hay un rango de dominio de bloque: en ES6, podemos cambiar la declaración del dominio del bloque Var para dejar de alquilar, de modo que la variable solo alcanza el rango de bloque.
2. Juicio lógico
Los valores especiales juzgados como falsos: falsos, indefinidos, nulos, 0, nan "".
Tipos simples booleanos y booleanos: hay una diferencia entre falso y verdadero de los tipos booleanos simples y falso y verdadero de los tipos booleanos de objetos, y los dos no son iguales. Como en el siguiente ejemplo:
var b = nuevo booleano (falso); if (b) // return truef (b == true) // return false
No4. Manejo de excepciones
1. Tipo de Excepción
Sintaxis de lanzamiento de excepción: el lanzamiento de excepción puede ser de cualquier tipo. Como se muestra a continuación.
arrojar "error2"; // Tipo de cadena Trane 42; // Tipo de número Lanza verdadero; // type boolean throw {toString: function () {return "Soy un objeto!"; }}; // Tipo de objetoExcepción personalizada:
// Crear un tipo de objeto UserExceptionFunction UserException (Message) {this.message = Message; this.name = "UserException";} // Reescribe el método de tostring para obtener información directa al lanzar una excepción userException.prototype.ToString = function () {name.name directamente + ' + this.message +' "";} lanza una nueva userexception ("valor demasiado alto");2. Sintaxis
Palabras clave: use try {} catch (e) {} Finalmente {} sintaxis, similar a la sintaxis C#.
Finalmente, el valor de retorno: si finalmente agrega una declaración de retorno, sin importar lo que el try.Catch regrese, el valor de retorno finalmente se devuelve. Como se muestra a continuación:
función f () {try {console.log (0); arrojar "falso"; } catch (e) {console.log (1); devolver verdadero; // La declaración de devolución se detiene hasta que finalmente la ejecución se completa console.log (2); // código que no se ejecutará} finalmente {console.log (3); devolver falso; // sobrescribe el return console.log (4); // código que no se ejecutará} // "return false" se ejecuta ahora console.log (5); // no accesible} f (); // Salida 0, 1, 3; Devolver falsoFinalmente, tragando excepción: si finalmente hay un regreso y hay una excepción de lanzamiento en la captura. La excepción de lanzamiento no será atrapada porque ha sido cubierta por el regreso finalmente. El siguiente código parece:
función f () {try {throw "bogus"; } catch (e) {console.log ('atrapado interno "falso"'); tirar E; // La instrucción de lanzamiento se detiene hasta que finalmente se completa la ejecución} Finalmente {return false; // sobrescribe la instrucción de lanzamiento en try.catch} // "return false"} try {f ();} capt (e) {// No se ejecutará aquí porque el lanzamiento en la captura ha sido sobrescribido por la declaración de regreso en finalmente console.log ('Catting Outter "Bogus"');} // Output // Catch Inner "Bogus"Objeto de error del sistema: podemos usar directamente el error {nombre, mensaje}, por ejemplo: lanzar (nuevo error ('el mensaje'));
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.