Con respecto a JavaScript, el primer concepto más importante son las variables, y el mecanismo de trabajo de las variables es la característica básica de JavaScript. De hecho, las variables son un tipo de identificador. Este artículo introducirá variables e identificadores en detalle.
definición
El identificador es un nombre utilizado para nombrar variables, funciones, propiedades y parámetros, o para usarlo como marcador para posiciones de salto en ciertas declaraciones de bucle.
// variable var identificador = 123; // propiedades (nuevo objeto) .identifier = 'test'; // Funcionar y parámetros Función IdentifierName (Identifier1) {}; // Jump Tag Identifier: for (var i = 0; i <5; i ++) {if (i == 3) {rompe identificador; }}En la vida diaria, algunas cosas son arregladas y algunas cosas cambian. Por ejemplo, el nombre y el cumpleaños de una persona son fijos, pero su estado de ánimo y edad cambiarán con el tiempo. La gente llama cosas que cambian las variables
Cuando el programa necesita guardar el valor para uso futuro, se asigna a una variable. La variable es un marcador de posición para guardar valores. Puede obtener una referencia al valor a través del nombre de la variable.
Reglas de nombres
En el artículo "Estructura de léxico", presentamos que JavaScript es un lenguaje sensible al caso. Al igual que cualquier otro lenguaje de programación, JavaScript conserva algunos identificadores para sí mismo, y las palabras reservadas no pueden usarse como identificadores ordinarios.
[Nota] Las palabras reservadas incluyen palabras clave, palabras reservadas futuras, literales vacíos y literales booleanos
Palabra reservada :: Palabra clave FutureServedword nullliteral booleanliteral
El nombre del identificador de JavaScript puede contener letras, números, señales de dólar y subrayos (pero el primer carácter no puede ser un número)
// Demostración de error 6Num // La suma de%% no se puede usar al principio // Los símbolos especiales, excepto (_ $), no se pueden usar al principio, como (% + /etc.) suma + num // Los símbolos especiales excepto (_ $) no se pueden usar al principio, como (% + /etc.)
JavaScript permite letras y números (incluido el chino) en todo el conjunto de caracteres Unicode en el identificador. Por lo tanto, los programadores también pueden usar un idioma no inglés o símbolos matemáticos para escribir identificadores
Var Test Text = 'Test';
[Nota] Para la portabilidad y la facilidad de escritura, generalmente no utilizamos caracteres ASCII extendidos o unicode
Por lo general, el formato de camello es el formato preferido para el nombre del identificador, la primera letra es minúscula y la primera letra de cada palabra restante es el mayúscula.
var mymoodToday = 'Happy';
Para diferentes tipos de datos, JavaScript tiene reglas de nombres de identificadores convencionales
Tipo de prefijo Ejemplo Array (Array) A Aitems Boolean (Boolean) B BisComplete Floating Point Number (Float) FPRice Función (función) fn fnhandler Integer (Integer) iiItemCount Object (Object) o Odiv1 Expresión regular (REGEXP) reemailcheck string (string) s susneam variable () variant V vanything
Declaración variable
declaración
En JavaScript, debe declarar (declarar) antes de usar una variable. La variable se declara utilizando la palabra clave var (la abreviatura de la variable).
var i; var suma;
También puede declarar múltiples variables a través de una palabra clave var
var i, suma;
Asignación
El funcionamiento de los valores de almacenamiento en variables se llama asignación. Después de asignarse una variable, decimos que la variable contiene este valor
El proceso de asignar una variable por primera vez se llama inicialización
Podemos escribir la asignación inicial de variables junto con la declaración de variable
Var Message = 'Hello'; var i = 0, j = 0, k = 0;
Si la variable no se especifica en la declaración de declaración de var, a pesar de que se declara la variable, su valor inicial no está definido antes de ahorrarle un valor
Las declaraciones de VAR también se pueden usar en bucles y bucles for-in, que pueden declarar más concisamente las variables de bucle utilizadas en la sintaxis de bucle
para (var i = 0; i <10; i ++) console.log (i);
Se pueden asignar valores de variables cuando se declaran, pero no puede haber otras operaciones, como +=, -=, etc.
var a = 2 ;// es correcto var a+= 2; // es incorrecto var a = 2 ++; // es incorrecto, ++ solo se puede usar para variables, no constantes
Declaración de repetición
Es legal e inofensivo declarar repetidamente variables utilizando declaraciones VAR. Si la declaración se repite con las operaciones de asignación, es equivalente a reasignar el valor.
Declaración faltante
Si intenta leer el valor de una variable que no se declara, JavaScript informará un error
JavaScript permite declaraciones omitidas, es decir, asignar valores directamente a variables sin declaraciones anteriores, y la operación de asignación declarará automáticamente la variable.
Sin embargo, en el modo ECMAScript5 estricto, asignar un valor a una variable no declarada dará como resultado un error
<script> 'use estrict'; a = 5; console.log (a); </script>
Características variables
Las variables de JavaScript son tipos débiles (también llamados tipos sueltos), y los llamados tipos sueltos se utilizan para guardar cualquier tipo de datos.
Clasificación del lenguaje de programación: lenguaje tipado dinámico y lenguaje escrito estático. El lenguaje tipado dinámico se refiere a un lenguaje que solo realiza la verificación del tipo de datos durante la operación. Es decir, al programar en un lenguaje tipado dinámico, no necesita especificar un tipo de datos para ninguna variable. El idioma registrará el tipo de datos internamente cuando la primera vez asigna un valor a una variable. JavaScript es el representante de los lenguajes mecanografiados dinámicamente.
En JavaScript, puede modificar el tipo de valor al modificar el valor.
VAR Message = 'HI'; Mensaje = 100; // Válido, pero no recomendado
Hay dos puntos para resumir las características de los tipos sueltos de variables: uno es que no necesita especificar los tipos de datos para las variables al declararse; El otro es que puede modificar los tipos de datos al asignar valores.
Alcance variable
El alcance de una variable, también conocida como contexto de ejecución, es el área que define esta variable en el código fuente del programa.
Los ámbitos se dividen en el alcance global y el alcance de la función (también llamado alcance local)
El alcance global es el entorno de ejecución más periférico. En un navegador web, el entorno de ejecución global se considera un objeto de ventana. Todas las variables y funciones globales se crean como propiedades y métodos de objetos de ventana. Las variables globales tienen ámbitos globales y se definen en cualquier parte del código JavaScript. El alcance global no se destruirá hasta que la aplicación salga, por ejemplo, cierra una página web o navegador.
Las variables declaradas dentro de una función solo se definen en el cuerpo de la función. Son variables locales y su alcance es local. Los parámetros de la función también son variables locales, y solo se definen en el cuerpo de la función. Después de que se ejecuta todo el código en el alcance de la función, el alcance se destruye y todas las variables y definiciones de funciones almacenadas en él también se destruyen.
función test () {var mensaje = 'hi';} test (); alerta (mensaje); // ErrorSi se omite el operador VAR, se crea una variable global
function test () {message = 'Hi';} test (); alerta (mensaje); // 'HI'Aunque omitir el operador VAR puede definir variables globales, no se recomienda. Las variables globales definidas en el alcance local son difíciles de mantener, y si el operador VAR se ignora intencionalmente, también causará confusión innecesaria porque la variable correspondiente no se definirá de inmediato. Asignar valores a variables no declaradas en modo estricto hará que se lance un error de referenceError
En el cuerpo de la función, la prioridad de las variables locales es mayor que la de las variables globales con el mismo nombre. Si una variable local declarada en la función o la variable y las variables globales en el parámetro de la función están duplicadas, la variable global está cubierta por la variable local.
var scope = 'global'; function checkscope () {var scope = 'local'; retorno alcance;}; checkscope (); // 'local'Promoción de la declaración (elevación)
Alcance de nivel de bloque
El alcance de nivel de bloque significa que cada pieza de código en aparatos ortopédicos rizados tiene su propio alcance, mientras que JavaScript no tiene un alcance de nivel de bloque. JavaScript solo tiene alcance de la función: las variables se definen en el cuerpo de la función que los declara y cualquier cuerpo de función anidada en este cuerpo de función.
Esto significa que las variables están disponibles antes de que sean declaradas. Esta característica de JavaScript se llama informalmente Hoisting. Todas las variables declaradas en las funciones de JavaScript (sin tareas involucradas) avanzan a la parte superior del cuerpo de la función.
[Nota] De hecho, además de la promoción variable, las funciones también se promueven, y habrá introducciones detalladas en la sección de funciones
var scope = 'global'; function f () {console.log (alcance); // undefined var scope = 'local'; console.log (alcance); // 'local'} // Después de que se promueve la declaración de la variable, es equivalente al siguiente código var scope = 'global'; function f () {var scope; console.log (alcance); // alcance indefinado = 'local'; console.log (alcance); // 'local'}No hay un alcance de nivel de bloque en JavaScript, por lo que algunos programadores ponen deliberadamente declaraciones variables en la parte superior del cuerpo de funciones. Este código fuente refleja claramente el alcance variable real.
Variables de atributo
Al declarar una variable global de JavaScript, en realidad define una propiedad de la ventana de objeto global
Cuando se declara una variable usando VAR, la variable creada no es configurable, lo que significa que la variable no se puede eliminar a través del operador Eliminar
var trueVar = 1; console.log (TrueVar, Window.truevar); // 1 1Delete TrueVar; // Falseconsole.log (TrueVar, Window.truevar); // 1 1
Si no usa el modo estricto y asigna un valor a una variable no declarada, JavaScript creará automáticamente una variable global. Las variables creadas de esta manera son propiedades configurables normales del objeto global y pueden eliminarlas
Window.fakevar1 = 10; console.log (falsevar1, window.fakevar1); // 10 10 this.fakevar2 = 20; console.log (falsevar2, window.fakevar2); // 20 20fakevar = 30; console.log (falsevar, window.fakevar); // 30 30delete Window.fakevar1; // trueDelete this.fakevar2; // trueDelete falsevar; // trueConsole.log (falsevar1, window.fakevar1); // informes de error console.log (falsevar2, window.fakevar2); // Informar un error console.log (falsevar, window.fakevar); // Informar un error
Las variables globales de JavaScript son propiedades de objetos globales, que son obligatorios en ECMAScript. Las variables locales se tratan como atributos de un objeto relacionado con llamadas de función. ECMAScript3 se llama objeto de llamada, y ECMAScript5 se llama registro de entorno declarativo. JavaScript permite que el uso de esta palabra clave se refiera a los objetos globales, pero no hay forma de referirse a objetos almacenados en variables locales. Esta propiedad única de almacenar objetos variables locales es una implementación interna que es invisible para nosotros
La gramática básica de JavaScript anterior: una comprensión integral de las variables e identificadores es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.