training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Объекты в javascript

Создано: 23 декабря 2015Автор: Егор Астапов2656 просмотровСложность: легкий

Объекты в 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 лет!"

Комментарии

реклама