JavaScript pila comprensión en profundidad del mecanismo subyacente

El extremo delantero de la entrevista, a menudo preguntas como las siguientes:

La primera pregunta

let a = 1;
let b = a;
b = 2;
console.log(a)   //??


La segunda pregunta

let m = {
	name:'小花'
}
let n = m;
n.name = '小明';
console.log(m.name)  // ??

Solución de estos problemas, en primer lugar para aprender a realizar js código del navegador:

El primer paso: la asignación de memoria en la memoria del ordenador una pieza, el código de ejecución (memoria de pila)
Paso: código JS se ejecuta de arriba a abajo por el hilo principal

Por ejemplo, en las preguntas de la entrevista anteriores mecanismos pila detallada:

La primera pregunta:

let a = 1;
let b = a;
b = 2;
console.log(a)   //??

Aquí Insertar imagen DescripciónLa segunda pregunta

let m = {
	name:'小花'
}
let n = m;
n.name = '小明';
console.log(m.name)  // ??

Aquí Insertar imagen Descripción

resumen

Js almacenados en las variables hay dos lugares principales montón de memoria y memoria de pila .
Java en la memoria y similar al proceso de
memoria de pila principalmente para almacenar varios tipos básicos de variables, incluyendo Boolean, Number, String, puntero Indefinido, Null, ** y la variable de objeto
montón principalmente responsables de este tipo de variable como el Objeto objeto almacenamiento


Valor tipos y tipos de referencia, de hecho, es decir, las variables de memoria memoria de la pila pila y variables
valores se pasan y pasan por referencia, copia profunda y copia superficial, se despliegan alrededor de la memoria de pila

tipos es decir básicos de tipo de valor por operación valor, es decir, el valor de la operación directa
tipos de referencia que operan dirección de memoria de pila , es decir, la operación de acuerdo con la dirección de referencia


la asignación de memoria y recolección de basura

la asignación de memoria y recolección de basura
en general, ordenados linealmente capacidad de almacenamiento de memoria de pila, el sistema de distribución de alta eficiencia.
La primera memoria de almacenamiento dinámico en el área de almacenamiento de la memoria de pila recién asignada, y posteriormente poner el puntero de pila se almacena en la memoria, el rendimiento bajará la relativa.
La recolección de basura, básicamente variables de pila quede sin recuperó la memoria,
y las variables de memoria del montón porque hay una gran cantidad de referencias inciertas, sólo cuando todas las variables se destruyen con el fin de llamar la recuperación.

Publicado cinco artículos originales · ganado elogios 6 · vistas 68

Supongo que te gusta

Origin blog.csdn.net/qq_22841567/article/details/104691913
Recomendado
Clasificación