In Google Closure Compiler ottengo l'avvertimentoATTENZIONE - uso pericoloso del mondiale questo oggetto
ATTENZIONE - uso pericoloso del mondiale questo oggetto
Ecco un esempio. La linea di errore e l'offset si riferisce all'inizio della parola this
function aToggle() {
if(shown)
toggle.show()
else
toggle.hide()
$(this).text(shown ? 'Click to hide' : 'Click to show')
shown = !shown
}
link.onclick = aToggle
vorrei solo cambiare a un metodo anonimo, ma sono riutilizzando aToggle
altrove nel file, quindi ha bisogno di essere nominato.
mi potrebbe segnare aToggle
come /**@constructor*/
- ma non è un costruttore. C'è un'altra annotazione che posso usare per eliminare questo avvertimento, o sono bloccato tra la marcatura come costruttore o l'apparizione di un mucchio di avvertimenti inutili?
Ok, è facile da fare. Comunque: 'shown' e' toggle' è globale? Non ho usato Google Closure Compiler, ma probabilmente non so che il tuo aToggle è un gestore di eventi. Vedi se c'è un punto in cui puoi dirlo, perché allora "questo" non è necessario il globale "questo". – some
Sì, sto usando unToggle in altri posti. Il codice sopra riportato è solo un esempio che ho scritto. –