Variables ECMAScript:
1. Valor de tipo básico (segmento de datos simple)
2. Valor de tipo de referencia (objeto que puede estar compuesto por valores) → objeto guardado en la memoria
------
Atributos dinámicos: solo puede agregar dinámicamente nuevos atributos a los valores referenciados para uso futuro.
------
Copiar valores variables:
Copie el valor de tipo básico → Crear un nuevo valor en el objeto variable → Copiar a la nueva variable (sin influencia mutua)
Copie el valor de tipo de referencia → Copie el valor almacenado en el objeto variable en el espacio de asignación de nueva variable (la copia es un puntero, apuntando al mismo objeto, que se afecta entre sí)
------
Pase los parámetros:
Todas las funciones en ECMAScript se pasan por valor.
(El valor fuera de la función se copia a los parámetros dentro de la función.
→ Puede imaginar los parámetros de la función ECMA como variables locales. )
Explicación de las razones:
Declaración 1:
Los parámetros de la función son variables locales, que se pasan a parámetros de función en valores externos, y los valores internos y externos no se afectan entre sí. Las referencias y las direcciones duplicadas se abordan, por lo que tienen una influencia entre sí.
Declaración 2: Ángulo de objeto (el parámetro es un objeto obj)
------
Los objetos se pasan por valor → Los objetos de parámetros y los objetos externos se refieren al mismo objeto → El objeto apuntado por el objeto externo tiene solo un objeto en la memoria de Heap y es una variable global.
No lo confunda como resultado de que el objeto local se refleje en el alcance global (externo) del objeto modificado → las variables locales dentro de la función se destruirán inmediatamente después de ejecutar la función.
------
Entorno de ejecución (a veces denominado "entorno") y alcance
El entorno de ejecución define el blanco o las funciones que tienen acceso a otros datos determinan sus comportamientos respectivos → Cada entorno de ejecución tiene un objeto variable asociado con él → Todas las variables y funciones definidas en el entorno se almacenan en este objeto.
------
Cada función tiene su propio entorno de ejecución → cuando el flujo de ejecución ingresa a una función → el entorno de función se empujará a una pila de entorno → párate después de ejecutar la función → control de retorno al entorno de ejecución anterior
Cuando el código se ejecuta en un entorno, se crea una cadena de alcance del objeto variable.
Propósito de la cadena de alcance: garantizar el acceso ordenado de todas las variables y funciones que tengan permiso para acceder en el entorno de ejecución.
La parte delantera de la cadena de alcance siempre es un objeto variable en el entorno donde se encuentra el código actualmente ejecutado.
------
El entorno interno puede encadenar todos los entornos externos a través de las cadenas de alcance, pero el entorno externo no puede acceder al entorno interno (la conexión del entorno es lineal, ordenada → buscar la cadena de alcance hacia arriba a las variables de consulta y los nombres de las funciones)
Los parámetros de la función también se tratan como variables
------
Extender la cadena de alcance:
Algunas declaraciones pueden agregar temporalmente una variable a la cadena del alcance frontal (las variables se eliminan después de la ejecución del código)
1. El bloque de captura de la declaración Try-Catch
2. Con declaración
------
Javas no tiene alcance a nivel de bloque
Aquí podemos simplemente distinguir entre el alcance de nivel de bloque y el alcance de la función
La explicación detallada anterior de las variables y el alcance JS es todo el contenido que he compartido con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.