2010-06-16 15 views
5
function doIt(param) { 
    var localVar = param; 
    //do lots of stuff with localVar 
} 

function doIt(param) { 
    //do lots of stuff with param 
} 

C'è qualche differenza in termini di efficienza tra il codice sopra?Variabile locale vs parametro

+0

Prova questo semplice [benchmark] (http://jsbin.com/uyani3/7/). Se trovi una differenza (ottengo risultati interessanti su Firefox e Opera) IMO sarà comunque trascurabile. – CMS

risposta

5

Non c'è differenza. Un parametro è solo una variabile locale che viene inizializzata con l'argomento passato al momento del richiamo.

Tuttavia, se si intende modificare il valore della variabile, è spesso considerata una buona pratica lasciare inalterate le variabili dei parametri, semplicemente per motivi di leggibilità e manutenibilità.

0

param variabile è già una variabile locale quindi l'unica differenza tra questi due frammenti di codice è che il primo crea una copia inutile della variabile param.

+1

Neanche quello. Qualsiasi compilatore decente dovrebbe sbarazzarsi delle variabili morte intermedie (come param). – Karmastan