4.1 Volumen Variable problemas de memoria

4.1.1 Básico tipos de referencia y tipo de valor

Copiar valores de las variables:
tipos básicos de replicación: la replicación es el valor de
var = NUM1 5;.
Var = num1 num2;
Aquí Insertar imagen Descripción
variable de referencia copia: copia la referencia, el cambio de una variable, que afectará a la variable de otra
var obj1 = new Object ();
var obj2 = OBJ1;
obj1.name = "Nicholas";
Alert (obj2.name); // "Nicholas"
Aquí Insertar imagen Descripción

Cambio de una de las variables, que afectará a la otra: por ejemplo,
var persona = new new Object ();
PERSON.NAME = "TYT";
var = PERSON2 persona;
el console.log (PERSON.NAME); // TYT
la console.log ( person2.name); // TYT
person2.name = "TYT";
la console.log (PERSON.NAME); // TYT
la console.log (person2.name); // TYT

4.1.2 Paso de parámetros
ECMAScript toda la función de los parámetros se pasan por valor, dicho valor de función de copia externa al parámetro dentro de la función, equivalente a copiar el valor a otra variable.
Muchos desarrolladores creen erróneamente: objetos Modificar en el ámbito local se reflejarán en el ámbito global, que muestra
los parámetros se pasan por referencia. Para demostrar los objetos se pasan por valor, entonces miramos a través de la siguiente ejemplo modificado:
Función de prueba (obj) {
obj.name = "TYT";
Alert (obj.name); // TYT
obj = new new Object ( );
obj.name = "TYT";
Alert (obj.name); // TYT
Alert (PERSON.NAME); // TYT
}
var persona = new new Object ();
Test (persona);
la console.log (persona. nombre); // tyt
Descripción: I personalmente relativamente sencillo de entender es la siguiente: Si el objeto es un objeto por referencia (dirección de referencia) de entrega, todo el proceso es el siguiente: la función de pasar primero una dirección de referencia de objeto, la dirección de este nombre de referencia punto "tyt", y luego volver a definir el objeto, la dirección del objeto y una referencia a este punto "TYT", por lo que el resultado final del nombre del objeto debe ser "TYT", pero en realidad no lo es. Descripción aquí se pasa por valor, obj = new Object (); esto corresponde var obj = new Object (); redefinición de un objeto obj variable. entender cuidadosamente la salida anterior.

4.1.3 una referencia al tipo de detector
utilizado instanceof operador
referencia al tipo de detección, queremos saber que no es el objeto, pero le gustaría saber qué tipo de objeto que es, por ejemplo,
var persona = {};
var ARR = [] ;
var = REG / ab /;
console.log (la persona instanceof Object); // el objeto persona es? verdadera
console.log (arr instanceof Array); // matriz arr es cierto
console.log (REG instanceof RegExp); // REG es cierto RegExp

4.2.1 medio ambiente Ámbito y ejecución

Cada objeto de variable de entorno de ejecución ha asociado una, todas las variables y funciones definidas en las variables de entorno se almacenan en este objeto.
Cuando el código se ejecuta en un entorno, se crea una variable de la cadena alcance objetos, la parte delantera de la cadena de ámbito es siempre código de objeto variable ejecutando actualmente en su entorno, si el ambiente es una función, que es el objeto activo como un objeto variable el siguiente objeto variable en cadena de ámbito de un ambiente externo (incluido), entonces la siguiente variable contiene el medio ambiente de la siguiente, y finalmente un objeto variable es siempre el medio ambiente mundial ejecución de la cadena alcance. ambiente interno puede acceder a todo el entorno externo a través de la cadena de ámbito, pero el entorno externo no se puede acceder a cualquiera de las variables y las funciones internas. Sólo buscar hacia arriba, no hacia abajo buscar.

4.2.1 extender la cadena de ámbitos
que todavía no entendía, recordar que esto sólo temporalmente.
Hay dos formas principales: estas dos afirmaciones añadirán un objeto variable en la parte delantera de la cadena de ámbito.
la captura de la prueba
con la declaración

4.2.2 no alcance a nivel de bloque
ejemplo:
for (var i = 0; I <10; i ++) {
doSomething (I);
}
Alerta (I); // 10
todavía presente después el bucle.

variable de inicialización no se declara con var, la variable será tratada como una variable global.
Cuando un identificador de consulta, busca primero el medio ambiente local, de acuerdo con la cadena de ámbito para encontrar hasta el medio ambiente mundial.

4.3.1 recolección de basura

La basura recogida principio: identificar aquellas variables no siguen utilizando, y luego libera la memoria que ocupa. colector de basura realizar periódicamente esta operación a intervalos regulares.
Etiquetado claro - Google
cuenta de referencia --es decir,

Liberadas nueve artículos originales · ganado elogios 24 · vistas 2630

Supongo que te gusta

Origin blog.csdn.net/qq_44758322/article/details/105374752
Recomendado
Clasificación