JavaScript tiene una palabra clave. El propósito original de la declaración con la declaración es proporcionar un método de dibujo de espacio de nombres para el acceso a objetos paso a paso. Es decir, en el área de código especificado, el objeto se llama directamente a través del nombre del nodo.
La función de la declaración con la declaración es cambiar temporalmente la cadena de alcance y reducir las entradas repetidas.
Su estructura de sintaxis es:
con (objeto) {// declaraciones}Demos un ejemplo práctico:
con (document.forms []) {name.value = "lee king"; dirección.value = "Pekín"; zipcode.value = ""; }El método de escritura tradicional correspondiente es:
document.forms []. name.value = "Lee King"; document.forms []. dirección.value = "Pekín"; document.forms []. Zipcode.value = "";
Puede ver la concisión y la claridad de la declaración con la declaración, pero es difícil encontrar la verdadera perfección en el mundo del código.
El intérprete JS necesita verificar si las variables en el bloque con el bloque pertenecen al objeto contenido en el bloque con bloque, lo que reducirá en gran medida la velocidad de ejecución de la declaración con la declaración y dificultará la optimización de las declaraciones JS. Para tener en cuenta la velocidad y el volumen del código, podemos encontrar una solución relativamente comprometida:
var form = document.forms []; form.name.value = "Lee King"; form.address.value = "Pekín"; form.zipcode.value = "";
Por lo tanto, en el desarrollo de código eficiente futuro, debemos evitar usar con declaraciones tanto como sea posible.
Después de la prueba:
var a = 123; var b = {a: 321}; con (b) {console.log (a); // 321} var a = 123; var b = {}; Elimine la propiedad A en b con (b) {console.log (a); // 123} de la cadena de alcance para analizarlaEn JavaScript, las funciones son objetos y, de hecho, todo en JavaScript es objetos. Hay una propiedad interna dentro de la función a la que solo se puede acceder al motor JavaScript, que es [[alcance]]. Esta propiedad contiene una colección de objetos en el alcance cuando se crea la función. Esta colección se llama cadena de alcance.
Por ejemplo, el siguiente código:
función add (num1, num2) {var sum = num1 + num2; suma de retorno; }Cuando se crea una función, se llenará un objeto global en su cadena de alcance, que contiene todas las variables globales, como se muestra en la figura a continuación:
Cuando se ejecuta la función, se crea un objeto activo, que contiene todas las variables locales, los parámetros nombrados y esta función. El objeto se empuja en el extremo frontal de la cadena de alcance. Cuando se ejecuta la función, el objeto también se destruye.
Se puede ver que la variable global será empujada al final de la cadena de alcance por el objeto activo, por lo que la velocidad de acceso de variable global es lenta.
con
En términos generales, las cadenas de alcance solo se verán afectadas por las declaraciones de y captura. Al usar con, la función creará un nuevo objeto activo y lo empujará al extremo frontal, con el que es el objeto. Esto significa que todas las variables locales están en el segundo objeto de cadena de alcance, por lo que debe evitar usarlo.
Lo anterior es la comprensión de las declaraciones con JavaScript presentadas por el editor. Espero que te sea útil. Si desea saber más información, ¡preste atención al sitio web de Wulin.com!