Объекты в javascript применяются часто. В них можно поместить много значений. Поместить в объект можно массив и другой объект. Объект может быть довольно сложным по составу. Я постарался запихать в массив как можно больше элементов разных типов. О массивах читайте в статье массивы в javascript
// объявление объекта
var obj = {};
obj.name = 'Иван';
obj.surname = 'Иванов';
obj.user_info = ['программист', 'стаж 5 лет', 'PHP', 25];
var work = {};
work.name_work = "monitoring";
work.final_date = "27.07.2016";
obj.work = work;
console.log(obj);
// вывод
name -> "Иван"
surname -> "Иванов"
user_info -> ["программист", "стаж 5 лет", "PHP", 25]
work -> Object { name_work="monitoring", final_date="27.07.2016"}
Вы можете использовать фигурные скобочки в большом количестве для создания объекта. Пример внизу - это второй способ составить объект.
var obj = {
"name": "Иван",
"surname": "Иван",
"user_info": ['программист', 'стаж 5 лет', 'PHP', 25],
"work": {
"name_work": "monitoring",
"final_date": "27.07.2016",
}
};
console.log(obj);
Как обратиться к элементу объекта. Тут можно по ключу вызвать элемент.
console.log(obj.user_info[1]);
// вывод: стаж 5 лет
console.log(obj.work);
// или
console.log(obj['work']);
// вывод: Object { name_work="monitoring", final_date="27.07.2016"}
Когда применяют объекты? Для передачи данных в ajax-запрос нужно формировать урл с параметрами (GET-запрос). Вы можете в параметр data передать объект и в результате запроса автоматически сформируется урл с параметрами. Вам не надо присоединять к строке с урл множество параметров.
В яваскрипте нельзя сделать ассоциативный массив, зато можно сделать массив с объектами в качестве значений. А объект может содержать в себе множество ключей и значений.
var arr = [{"name":"Иван","surname":"Иванов"},{"name":"Пётр","surname":"Петрович"}];
var count = arr.length;
console.log(count);
// вывод: 2
Вы можете присвоить значению объекта результат анонимной функции. Внутри этой функции вы можете обращаться к другим значениям объекта через this.
var obj = {};
obj.name = 'Иван';
obj.old = 25;
obj.text = function(){
return this.name + " проработал "+ this.old +" лет!";
}
obj.text();
// затем вы можете уменьшить возраст программиста
obj.old = 18;
obj.text();
// вывод: "Иван проработал 18 лет!"