Ensimmäiseksi todettakoon että Javascript ei ole samanlaista kuin Java.
Toiseksi: kysymys on melko epäselvä, mutta tässä muutamia huomioita.
"summa = testValue": tässä kohdassa muutat globaalin muuttujan 'summa' arvoa. Haluatko varmasti tehdä näin, vai onko tämä virhe? Paikallisia muuttujia luodaan 'var' avainsanalla.
this avainsana funktion sisällä viittaa objektiin joka "omistaa" funktion, eli esim. se linkki jota klikattaessa tämä funktio suoritetaan.
this.test1 on siis muuttuja jossain HTML-oliossa tms., ja demo.test1 on muuttuja 'demo' funktio-oliossa, ja nämä ovat siis täysin eri asia.
Kun kysyt "miksi on suositeltavaa tehdä näin?", niin esittäisin vastakysymyksenä: missä näin suositellaan, ja minkälaisessa asiayhteydessä?