JavaScript a un mot-clé. L'objectif d'origine de l'instruction With With est de fournir une méthode d'esquisse d'espace de noms pour l'accès d'objet étape par étape. Autrement dit, dans la zone de code spécifiée, l'objet est appelé directement via le nom du nœud.
La fonction de l'instruction With est de modifier temporairement la chaîne de portée et de réduire les entrées répétées.
Sa structure de syntaxe est:
avec (objet) {// instructions}Donnons un exemple pratique:
avec (document.forms []) {name.value = "Lee King"; adresse.value = "Pékin"; zipcode.value = ""; }La méthode d'écriture traditionnelle correspondante est:
document.forms []. name.value = "Lee King"; Document.Forms []. Address.Value = "Pékin"; Document.Forms []. Zipcode.value = "";
Vous pouvez voir la concision et la clarté de la déclaration avec la déclaration, mais il est difficile de trouver la vraie perfection dans le monde du code.
L'interprète JS doit vérifier si les variables du bloc avec le bloc appartiennent à l'objet contenu dans le bloc avec le bloc, ce qui réduira considérablement la vitesse d'exécution de l'instruction avec et rendra l'optimisation des instructions JS. Afin de prendre en compte la vitesse et le volume de code, nous pouvons trouver une solution relativement compromise:
var form = document.forms []; form.name.value = "Lee King"; form.address.value = "Pékin"; form.zipcode.value = "";
Par conséquent, dans le développement de code efficace futur, nous devons éviter d'utiliser autant que possible avec les déclarations.
Après les tests:
var a = 123; var b = {a: 321}; avec (b) {console.log (a); // 321} var a = 123; var b = {}; Retirez la propriété A en b avec (b) {console.log (a); // 123} de la chaîne de portée pour l'analyserDans JavaScript, les fonctions sont des objets, et en fait, tout dans JavaScript est des objets. Il existe une propriété interne à l'intérieur de la fonction qui n'est accessible qu'au moteur JavaScript, qui est [[SCOPE]]. Cette propriété contient une collection d'objets dans la portée lorsque la fonction est créée. Cette collection s'appelle une chaîne de portée.
Par exemple, le code suivant:
fonction add (num1, num2) {var sum = num1 + num2; somme de retour; }Lorsqu'une fonction est créée, un objet global sera rempli dans sa chaîne de portée, qui contient toutes les variables globales, comme le montre la figure ci-dessous:
Lorsque la fonction est exécutée, un objet actif est créé, qui contient toutes les variables locales, des paramètres nommés, et cette fonction. L'objet est ensuite poussé dans l'extrémité avant de la chaîne de portée. Lorsque la fonction est exécutée, l'objet est également détruit.
On peut voir que la variable globale sera poussée à la fin de la chaîne de portée par l'objet actif, c'est pourquoi la vitesse d'accès à variable globale est lente!
avec
D'une manière générale, les chaînes de portée ne seront affectées que par des déclarations et capturées. Lorsque vous utilisez avec, la fonction créera un nouvel objet actif et le pousse vers l'avant, qui est l'objet avec. Cela signifie que toutes les variables locales sont dans le deuxième objet de chaîne de portée, c'est pourquoi vous devez éviter d'utiliser avec.
Ce qui précède est la compréhension des instructions avec JavaScript qui vous sont présentées par l'éditeur. J'espère que cela vous sera utile. Si vous souhaitez en savoir plus d'informations, veuillez faire attention au site Web Wulin.com!