Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) this como parâmetro no FF


Rafael Laurindo

Pergunta

Pessoal, claro que todo programador preferirá sempre fazer o mais fácil, por isso tive essa dúvida. Não sei se isso é uma especificação, mais em certas ocasiões facilita e muito a vida do programador. Galera, o que vocês acham de passar o this como parâmetro em uma função ao invés de passar this.id e depois usar o DOM para criar um objeto?

Ex.:

//Ao invés de fazer assim
 func = function(id)
 {
     var obj = document.getElementById(id);
     obj.att = '...';
     //...
 }
//fazer assim
func = function(obj){
     obj.att = '...';
     //...
 }
<input type="text" onkeypress="func(this)" />

Editado por Rafael Laurindo
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Na minha opinião o melhor é passar o próprio elemento ao invés de seu id, até porque alguns elementos podem não ter id.

Mas pessoalmente prefiro passar o this não como parâmetro, mas como escopo da função:

<input type="button" onclick="funcao.call(this)" />
Dessa forma a função fica semelhante tanto utilizando código inline quanto setando o atributo onclick via Javascript. Exemplo:
function funcao()
{
    this.style.backgroundColor="blue"
}
onload=function()
{
    var element = ...
    element.onclick=function()
    {
        this.style.backgroundColor="red"
    } //isso funciona
    elemento.onclick=funcao //isso também
}
Do contrário seria necessário fazer algo assim:
function funcao(obj)
{
    obj.backgroundColor="blue"
}
onload=function()
{
    ....
    element.onclick=function()
    {
        funcao(this) //passamos o "this" como parâmetro
    }
}

Link para o comentário
Compartilhar em outros sites

  • 0

Jonathan, não ainda, pessoa explicar melhor que você. Você daria um ótimo professor, domina bem, não se limita em apenas responder "sim" ou "não".

Às vezes uso coisas das quais não sei o nome. Pesquiso, faço minhas modificações, aprendo a usar sei do que se trata, mas o nome... Não diria nem o nome, mas o correto termo. Pode me explicar "código inline".

Editado por Rafael Laurindo
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...