IPB

Bem-vindo, visitante ( Entrar | Registrar )

> Orientações

Atenção
Este sub-fórum é destinado, exclusivamente, à postagem de códigos prontos. Dúvidas devem ser postadas no fórum principal

 
Reply to this topicStart new topic
> Técnicas em programação Javascript, Forma alternativa de acessar valores de propriedades
post 26/12/2007 - 05:07
Post #1
KaKarotto



Além de simpático, gostoso e inteligente..modesto, acima de tudo
Ícone do grupo

Grupo: Vencedores de desafio
Posts: 1260
Registrado: 05/04/2007
De: São Paulo, Capital.
Membro nº: 27862
Sexo:



Olá.

Bom eu queria passar uma dica, que na verdade é mais um conhecimento do que propriamente uma dica. É antiga...mas eu percebi que ainda hj tem gente que nem sabe disso.

A "dica" é a seguinte: Existe outra forma de referenciar uma propriedade de um objeto em javascript além do dot ("."). (Ficou parecendo um coelhinho...que fofo)

A outra forma é referenciar pelo indexador, como você faz em um array. Olha só:

CODE
var Edu = new Object

Edu.nome="Eduardo"
Edu.idade=23
Edu.curso="Ciência da Computação"

alert(Edu["nome"]) //  Saída: Eduardo
alert(Edu["idade"]) // Saída: 23
alert(Edu["curso"]) // Saída: Ciência da Computação


Legal né??!?!?! Isto é para qualquer objeto e significa que funciona exatamente igual para Json:
CODE
var Edu={
"nome":"Eduardo",
"idade":23,
"curso":"Ciência da Computação"
}

alert(Edu["nome"]) //  Saída: Eduardo
alert(Edu["idade"]) // Saída: 23
alert(Edu["curso"]) // Saída: Ciência da Computação


E também para as propriedades dos objetos nativos da linguagem:

CODE
document.getElementById('meuDiv')["innerHTML"] // Conteúdo do 'meuDiv'


A princípio é muito besta e não serviria de nada...mas é muuuuuuito importante para POO, principalmente em algumas funções dinâmicas.

Sei lá, digamos que precise verificar se um objeto tem algum valor null:

CODE
var Edu={
"nome":"Eduardo",
"idade":23,
"curso":null
}


Caso você não saiba o que tem dentro do objeto, você já sabe que pode iterar usando o "for" assim:

CODE
for (var prp in Edu)
document.write(prp+"<br>")


Isto iria listar todas as propriedades existentes no objeto. Mas... e para saber se existe algum com valor null?? Como listar os valores?

Aí que entra a "dica":

CODE
for(var prp in Edu)
document.write(Edu[prp]+"<br>")


Isto listaria os valores, agora para descobrirmos se existe um valor null em alguma propriedade:

CODE
for(var prp in Edu)
if(Edu[prp]==null)
alert("A propriedade: "+prp+"\ncontém valor: "+Edu[prp])


Tá ae a "dica". Na verdade eu já sabia disso há algum tempo, não me perguntem como, talvez eu tenha visto em algum código e acabei testando....realmente não me lembro.

Pra ser sincero eu queria dar outra dica, mas para a outra dica, eu precisava antes dar essa e o post ficou grande =/, então postarei a outra mais tarde com um uso interessante dessa forma de referenciar as propriedades.

Se alguém já viu algum conteúdo assim, manda o link, talvez tenha algo a mais que eu não saiba, não é meu objetivo plagiar ninguém, então se conhecerem alguém que já tenha postado isso, manda o link por favor.

Akelabrasssssss

Este post foi editado por KaKarotto: 26/12/2007 - 05:13


--------------------



Javiani
Desafiadores:
Mestre SAM - Fiote - Raficcha - Flavio - Romerito

Go to the top of the page
 
+Quote Post

Fast ReplyReply to this topicStart new topic
1 usuário(s) está(ão) lendo este tópico (1 visitantes e 0 usuários anônimos)
0 membros:

 

Modos de Exibição: Padrão · Mudar para: Linear+ · Mudar para: Outline


Versão Simples Horário: 07/09/2010 - 12:36