Цитата monopolie:
или так new Object() (слово Object обязательно)»
|
Нет, не обязательно использовать слово Object. Просто Object - стандартный объект в JS, описанный кстати по обоим ссылкам из вашего поста.
После слова new должен указываться тип (aka прототип) создаваемого объекта, из стандартных в пример можно привести Array или Date.
Будет создан пустой объект, прототип которого - тот самый стандартный Object, как если бы написали var variable = new Object();
Цитата monopolie:
Почему так пишется непонятно: »
|
Либо как в этом коде, автор должен описать свою функцию-конструктор для данного типа (в примере - User). Кстати, возможно "слово Object обязательно" появилось после попытки создать свой объект, перед этим не создав конструктор для этого типа?
Цитата monopolie:
Здесь я вижу что функции User даётся два параметра и непонятно зачем тут слово new .
var Vasya = new User (“Вася” , “Иванов”);
Всё работало бы и без слова new если убрать ещё слово this в функции. »
|
Без слова new и this в Vasya запишется результат, возвращенный функцией
(в приведенном примере его нет, будет пусто). В итоге не будет объекта, и нельзя будет прочитать, например, его свойство Vasya.firstname (в обычном режиме JS он попадет в firstname (window.firstname).
Без new но с this - сценарий выдаст ошибку.
А с new и this - запишет в объект Vasya типа User 2 свойства firstname и lastname, к которым можно будет обратиться по Vasya.firstname и Vasya.lastname соответственно.
Вот, можно поиграться на jsfiddle и понять разницу.