JavaScript. Помогите понять объект - Вопросы по Java

Вопрос JavaScript. Помогите понять объект

Регистрация
29 Сен 2013
Сообщения
87
Репутация
0
Спасибо
0
Монет
0
На сколько я понял 2 варианта создания объектов:



function Person(name, age, year) {

this.name = name;

this.age = age;

this.year = year;

}



var Person = {

 name : "Ivan",

 age : 25,

 hiredYear : 2017

}



Чем способы отличаются. Где удобство обращения и где функционал будет больше
 
Регистрация
16 Ноя 2012
Сообщения
88
Репутация
0
Спасибо
0
Монет
0
Во втором случае ты только присваиваешь значения полям. А в первом случае внутри функции Person ты можешь делать что угодно.

Первый вариант намного гибче. Например, в функцию можно передать только имя и дату рождения, а возраст она вычислит сама.
 
Регистрация
31 Мар 2013
Сообщения
97
Репутация
0
Спасибо
0
Монет
0
Первое это не объект, а функция-конструктор (класс). На ее основе создаются экземпляры объекта.
var Vasia = new Person ("Вася", 10, 2021)
Второе - литерал объекта
 
Регистрация
20 Авг 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
Я в js не сильно шарю, но второе это что-то типо структуры или класса, а первой какая-то несусветная хрень.
Как в первом случае обращаться к полям из вне? Какой смысл заключается в this.name=name?
 
Регистрация
3 Апр 2013
Сообщения
89
Репутация
0
Спасибо
0
Монет
0
при объявлении переменной допустим объект
один вариант используешь
а при создании более сложного объекта допустим с this

все зависит от вашей задачи потребности и искусстве написании кода
и также не стоит забывать что в грамотно написанном коде
легче найти не соответствия и ошибки
 
Сверху Снизу