javascript - tools - inspect chrome




Console e assegnazioni chiari della console di Chrome (3)

Cancellare la console non cancella le variabili dalla memoria, ma semplicemente cancella i dati dall'interfaccia utente.

Ricaricando la pagina si cancellano i dati della console. Spero che dovrebbe andare bene come hai detto che stai solo testando e imparando javascript.

Spero che sia d'aiuto!

Forse mi manca qualcosa di ovvio, ma sto imparando JavaScript e sto facendo molti test nella console di Chrome. Anche se pulisco o uso uno qualsiasi dei comandi che ho visto in altri thread (localStorage.clear ()), qualsiasi cosa abbia assegnato o dato le variabili viene comunque visualizzata.

Ad esempio, faccio qualcosa come var name = "Bob";

Svuoto e chiudo la console .. riaprilo .. cerca il valore del nome .. ed è ancora Bob.

Vorrei chiarire questo quando voglio. Qual è il modo migliore?


Quello che stai influenzando quando dichiari qualsiasi variabile o funzione all'interno della console di sviluppo è il contesto di esecuzione globale , che per i browser Web è la window .

Quando cancelli clear() la console che stai dicendo a Chrome di rimuovere tutta la cronologia visibile di queste operazioni, non cancellare gli oggetti che hai allegato alla window .

Per fare ciò devi delete manualmente ogni oggetto con il suo riferimento:

delete name;
name //=> undefined

Se il sovraccarico dovuto alla necessità di rimuovere ripetutamente più oggetti tramite l' delete è eccessivo, memorizzare ciascun valore come proprietà di un oggetto, ad esempio i data , che è possibile eliminare insieme a tutte le proprietà in un'unica istruzione:

var data = {};
data.name = 'Bob';
data.age = 60;
delete data;
data.name //=> ReferenceError: data is not defined
data.age //=> ReferenceError: data is not defined

Una soluzione semplice a questo problema consiste nel racchiudere qualsiasi codice che non si desidera nell'ambito globale in un'espressione di funzione invocata immediatamente (IIFE). Tutte le variabili assegnate nell'ambito della funzione vengono deallocate al termine della funzione:

(function() {

    // Put your code here...

})();

Per maggiori informazioni su IIFE: https://en.wikipedia.org/wiki/Immediately-invoked_function_expression

[Aggiornare]

In ES6 puoi usare i blocchi (a patto che usi let invece di var ):

{

    // Put your code here...

}

Per maggiori informazioni sui blocchi: http://exploringjs.com/es6/ch_core-features.html#sec_from-iifes-to-blocks





google-chrome-devtools