2016-08-05 3 views
0

В примере кода Node.JS я нашел блок кода следующим образом.Что означает «variable: function() {}» означает?

var messageReceivedCallBack = { 
    onMessageReceived: function (message) { 
     console.log('Message received ' + message); 
    } 
}; 

Что означает этот код? В частности, я не могу понять часть с толстой кишкой (':')

+3

Имена и значения свойств разделены знаком ':' в объекте javascript –

+0

в messageReceivedCallBack. Объект 'onMessageReceived' - это имя метода/функции. –

+1

в целом, просто рекомендация, используйте 'console.log ('Полученное сообщение:', сообщение); вместо. Это заставляет его работать при наличии объекта/объектов любого типа. «+» Отлично работает со строками и int. –

ответ

5

Это объект буквальный. Это не является переменной, это имя свойства:

var foo = { 
    a: 1, 
    b: 2 
}; 

То же самое, как:

var foo = {}; 
foo.a = 1; 
foo.b = 2; 

Аналогично:

var foo = { 
    a: function() {} 
}; 

То же самое, как:

var foo = {}; 
foo.a = function() {}; 

Поэтому следующее:

var messageReceivedCallBack = { 
    onMessageReceived: function (message) { 
     console.log('Message received ' + message); 
    } 
}; 

просто делает это:

var messageReceivedCallBack = {}; 

messageReceivedCallBack.onMessageReceived = function (message) { 
    console.log('Message received ' + message); 
}; 
+0

Было бы очень полезно использовать мой код вместо примеров. Эти примеры требуют больше времени. –

+2

Примеры были выбраны как можно более минимальными, чтобы сделать концепцию ядра понятной как можно более «понятной». Я добавлю ваш код в качестве другого примера, но я не думаю, что было бы легко понять, что происходит в качестве минимальных примеров. – slebetman

+0

Хорошо, теперь это легко для меня. –

0

В JavaScript больше возможностей для создания объектов/класса. Функция

  1. строительства на основе класса (function ObjConstructor() {this.name="abc";})
  2. литералов объектов (var myObj = { "key" : "value" } (значение может быть функция или число, строка ..,)

Здесь : является разделение пары ключей значение . Если вы заглянете в JSON, вы можете легко понять. JSON

Смежные вопросы