Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   объект не изменяется через прототип (https://javascript.ru/forum/misc/60691-obekt-ne-izmenyaetsya-cherez-prototip.html)

js-jedi-knight 14.01.2016 19:40

Вложений: 1
Цитата:

Сообщение от Keramet (Сообщение 403794)
а его нет нет у u2, оно в прототипе.
при обращении u2.х значение по цепочке прототипов берётся из прототипа (т.к. не определено у самого объекта)

Цитата:

Сообщение от Keramet (Сообщение 403798)
покажите эту вашу "последовательность". что вы делали (или пример учебный скиньте)

во вложении должен быть скрин, если у меня прямые руки

на счёт _proto_, только что попробовал, там свойство "x" тоже не указано.

Keramet 14.01.2016 19:46

этот обрывок и есть ВСЯ последовательность? скиньте код - тогда будет о чём говорить, а пока - "учите мат.часть" (видео я дал)

js-jedi-knight 14.01.2016 20:05

Вложений: 4
Цитата:

Сообщение от Keramet (Сообщение 403803)
этот обрывок и есть ВСЯ последовательность? скиньте код - тогда будет о чём говорить, а пока - "учите мат.часть" (видео я дал)

вроде вся последовательность

в документе ****.js
function User(name, age){
this.name = name;
this.age = age;
this.admin = false;
}


в консоли браузера
> var u1 = new User("John", 25)
< undefined

> u1
< User {name: "John", age: 25, admin: false}

> User.prototype.x = 10;
<10

> u1
< User {name: "John", age: 25, admin: false, x: 10}

Keramet 14.01.2016 20:33

прежде всего - вот информация по оформлению кода: http://javascript.ru/formatting
ломать глаза и расшифровывать миниатюры - не шарман :nono:

js-jedi-knight 14.01.2016 20:45

Цитата:

Сообщение от Keramet (Сообщение 403805)
прежде всего - вот информация по оформлению кода: http://javascript.ru/formatting
ломать глаза и расшифровывать миниатюры - не шарман :nono:

намёк понял, был неправ)
сейчас исправлю

Keramet 14.01.2016 21:08

Уже лучше :) А теперь - слушаю ваш вопрос, что вам не понятно?

Keramet 14.01.2016 21:10

Настоятельно рекомендую просмотреть это видео: Конструкторы и прототипы. Всё доступно и доходчиво объяснено, после просмотра 99% вопросов отпадут

Яростный Меч 14.01.2016 21:14

Вложений: 1
js-jedi-knight, ты, похоже, прикалываешься.
у меня в консоли было так:

Keramet 14.01.2016 21:16

Для проверки принадлежности свойства объекту есть специальная функция hasOwnProperty():
function User(name, age){
				this.name = name;
				this.age = age;
				this.admin = false;
			}
			var u2 = new User('Mike', 32);
			User.prototype.x = true;

			alert("Есть ли свойство 'x' у объекта 'u2'?  " + u2.hasOwnProperty('x'));
			alert("Есть ли свойство 'name' у объекта 'u2'?  " + u2.hasOwnProperty('name'));

P.S. нажмите зелёненький треугольничек с надписью Запустить!

js-jedi-knight 14.01.2016 21:39

Цитата:

Сообщение от Keramet (Сообщение 403809)
Уже лучше :) А теперь - слушаю ваш вопрос, что вам не понятно?

непонятно почему у меня не выводится в консоли "x" как свойство User'а как в учебном примере. это раз.
два - Lemme предложил вариант вывести это свойство через alert, что сработало (спасибо) и браузер показал мне "10", но hasOwnProperty выводит мне false, этого я тоже не понимаю


Часовой пояс GMT +3, время: 14:16.