':' - это в основном разделитель для пар ключ-значение. В вашем примере это нотация Javascript Object Literal.
В javascript объекты определяются двоеточием, определяющим идентификатор свойства и его значение, поэтому вы можете иметь следующее:
return {
Property1 : 125,
Property2 : "something",
Method1 : function() { /* do nothing */ },
array: [5, 3, 6, 7]
};
, а затем используйте его как:
var o = {
property1 : 125,
property2 : "something",
method1 : function() { /* do nothing */ },
array: [5, 3, 6, 7]
};
alert(o.property1); // Will display "125"
Подмножество этого также известно как JSON (объектная нотация Javascript), которая полезна в вызовах AJAX, потому что она компактна и быстра для анализа на серверных языках, и Javascript может легко десериализовать строку JSON в объект.
// The parenthesis '(' & ')' around the object are important here
var o = eval('(' + "{key: \"value\"}" + ')');
Вы также можете поместить ключ в кавычки, если он содержит какие-то специальные символы или пробелы, но я бы не советовал, потому что это только усложняет работу с ним.
Имейте в виду, что Объект JavaScript Литерал Обозначение на языке JavaScript отличается от стандарта JSON для передачи сообщений. Основное различие между ними состоит в том, что функции и конструкторы не являются частью стандарта JSON , но допускаются в литералах объекта JS.