2011-03-15 15 views

Respuesta

13

No hay ninguna diferencia en su ejemplo. Habría una diferencia si desea que los nombres de sus propiedades sean un número o tengan espacios (los cuales son válidos, pero extraños).

var object3 = { 
    '123': 0, 
    'hello world' : 1 
} 

// This is valid 
alert(object3['123']); // -> 0 
alert(object3['hello world']); // -> 1 

// This is not 
alert(object3.123); // -> Syntax Error 

Si tiene dos minutos, puede encontrar esta página MUY útil.
http://bonsaiden.github.com/JavaScript-Garden/#object.general

+0

@ jessegavin- Excelente enlace- gracias – Yarin

+0

¡Sí, el jardín Javascript es fantástico! Explica las cosas realmente bien. – jessegavin

+0

No enlazaré con JavaScript Garden, principalmente porque no cuenta con una explicación completa de esto: no nos propusimos cubrir todo sobre el tema, solo los bits más peculiares; Iba a sugerir MDC pero su página en Objects está severamente desactualizada (¿JavaScript 1.0? ¿En serio?), Así que supongo que esto funcionará por ahora;) –

0

No hay diferencia. Ambas sintaxis son correctas

0

Ambos son iguales porque en javascript, object attrs. puede ser cadenas o texto sin formato.

6

La respuesta de jessegavin ya explica todo lo que ha preguntado, pero permítame agregar algo que no preguntó pero que podría necesitar saber en el futuro.

Todas estas son válidos literales de objetos de JavaScript:

{ a: 0, b: 1, c: 2 } 
{ 'a': 0, 'b': 1, 'c': 2 } 
{ "a": 0, "b": 1, "c": 2 } 

pero sólo el último es válido JSON. Citar incorrectamente las claves en JSON es probablemente la razón principal de los programas que producen JSON no válido, y el JSON no válido parece ser la principal fuente de problemas que las personas tienen con AJAX.

No es exactamente la respuesta a su pregunta, pero sigue siendo relevante y puede ahorrarle algunos problemas en el futuro.

+0

@ rsp- gracias por ese valioso consejo – Yarin

Cuestiones relacionadas