Problema de notação de objeto Javascript
-
21-12-2019 - |
Pergunta
eu tenho esse violino http://jsbin.com/EvIYomiF/4/ e só para notar caso seja importante o javascript está em dois arquivos.
Bem..como você pode ver na demonstração, o escopo dom está sendo sobrescrito de alguma forma e quero entender o porquê.Quero dizer, o hack self=this é com certeza uma prática ruim, mas não entendo por que está sendo sobrescrito
Não encontro palavras para descrever o problema, sinto muito por isso, mas o violino é a única maneira que encontrei de explicar meu problema com facilidade.
Solução
Todas as conjecturas sobre this
é irrelevante e todo mundo está levando você pelo caminho errado.
O problema é que self
não foi isolado usando var
então é, portanto, global.O segundo self
substitui o primeiro.
Simplesmente fazendo var self=this
faz tudo funcionar.O que você fez é uma prática comum para evitar a mudança de contexto de this
dentro do manipulador de eventos jQuery