El ':' es un delimitador para pares de valores clave básicamente. En su ejemplo, es una notación literal de objetos Javascript.
En javascript, los objetos se definen con dos puntos delimitando el identificador de la propiedad y su valor para que pueda tener lo siguiente:
return {
Property1 : 125,
Property2 : "something",
Method1 : function() { /* do nothing */ },
array: [5, 3, 6, 7]
};
y luego úsalo como:
var o = {
property1 : 125,
property2 : "something",
method1 : function() { /* do nothing */ },
array: [5, 3, 6, 7]
};
alert(o.property1); // Will display "125"
Un subconjunto de esto también se conoce como JSON (Javascript Object Notation), que es útil en llamadas AJAX porque es compacto y rápido de analizar en idiomas del lado del servidor y Javascript puede deserializar fácilmente una cadena JSON en un objeto.
// The parenthesis '(' & ')' around the object are important here
var o = eval('(' + "{key: \"value\"}" + ')');
También puede poner la clave entre comillas si contiene algún tipo de carácter o espacios especiales, pero no lo recomendaría porque solo hace que las cosas sean más difíciles de trabajar.
Tenga en cuenta que la notación literal de objetos JavaScript en el lenguaje JavaScript es diferente del estándar JSON para el paso de mensajes. La principal diferencia entre los 2 es que las funciones y los constructores no son parte del estándar JSON , pero están permitidos en los literales de objetos JS.