Mi chiedo se sia più o meno efficace incapsulare il corpo principale del codice JavaScript in un oggetto? In questo modo l'intero ambito del tuo programma sarebbe separato da altri ambiti come la finestra.L'incapsulamento del codice Javascript negli oggetti influisce sulle prestazioni?
Per esempio, se ho avuto il seguente codice in un file JavaScript:
/* My main code body. */
var somevar1=undefined;
var somevar2=undefined;
var somevarN=undefined;
function somefunction(){};
function initialize(){/* Initializes the program. */};
/* End main code body. */
ho potuto invece incapsulare il corpo codice principale in un oggetto:
/* Encapsulating object. */
var application={};
application.somevar1=undefined;
application.somevar2=undefined;
application.somevarN=undefined;
application.somefunction=function(){};
application.initialize=function(){/* Initializes the program. */};
La mia logica è che, poiché JavaScript ricerca tutte le variabili in un ambito finché non viene trovato quello giusto, mantenendo le funzioni e le variabili specifiche dell'applicazione nel proprio ambito aumenterebbe l'efficienza, specialmente se ci fossero un sacco di funzioni e variabili.
La mia unica preoccupazione è che questa è una cattiva pratica o che forse questo aumenterebbe il tempo di ricerca di variabili e funzioni all'interno del nuovo ambito di "applicazione". Se questa è una pratica sbagliata o completamente inutile, per favore fatemelo sapere! Grazie!
No, questo sarà altrettanto veloce. [E non preoccuparti di questo genere di cose] (http://c2.com/cgi/wiki?PrematureOptimization), scrivi solo codice leggibile e funzionale. Le prestazioni sono un problema per quando le prestazioni diventano un problema. –
Sono abbastanza sicuro che ogni identificatore ha il proprio indirizzo, quindi penso che il tuo pensiero non farà molto a meno che il file di script non sia collegato da una sottostringa. –
Anche se questo accelera le prestazioni, scrivere codice in questo modo renderà il programma più difficile da leggere e modificare, il che influenzerà le prestazioni (o chiunque altro che sta leggendo) durante la sua gestione. – Goodword