|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.04.2010, 21:49 | #1 |
Заблокирован
Регистрация: 27.08.2009
Сообщений: 569
|
this
Не могу понять, какую роль играет оператор this в этом коде. Объясните пожалуйста.
Код:
|
20.04.2010, 00:44 | #2 |
Заблокирован
Регистрация: 27.08.2009
Сообщений: 569
|
Всё, понял зис ссылается на объект chelovek1 , а от этого объекта ссылается на свойство этого объекта пол.
|
20.04.2010, 00:54 | #3 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
cheloveche - класс. Через this вы обращаетесь ко внутренним свойствам этого класса.
По определению обращение через this - это обращение через родителя этого контекста. Ваша ситуация: Код HTML:
<script type="text/javascript"> function cheloveche(parametr) //это фукнкция-конструктор. Она вызывается тогда, когда создается класс. { this.pol = parametr; //Присваивание внтренней переменной pol класса cheloveche значение parametr. } var chelovek1 = new cheloveche('Мужчина'); //А вот и само создание класса. С передачей значения 'Мужчина', которое будет обработано одноименной функцией-конструктором класса. Экземпляр класса кладется в переменную chelovek1. alert(chelovek1.pol); //а вот тут выводится уже значение внутренней переменной pol созданного класса chelovek1. </script> |
20.04.2010, 01:42 | #4 |
Заблокирован
Регистрация: 27.08.2009
Сообщений: 569
|
Я слышал что можно ещё вот таке писать,если дописать в функцию-конструктор вот такое, как это будет расшифровыватся и применятся?
Код:
Последний раз редактировалось Syltan; 20.04.2010 в 01:48. |
20.04.2010, 02:01 | #5 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
Правильно слышали.
В итоге у вас получится 2 свойства класса cheloveche. Первое свойство - это строковая переменная pol И второе свойство - это метод, который в свою очередь тоже может что-то делать (в вашем примере - выводить сообщение со значением параметра parametr. Его вызвать можно так: Код:
|
20.04.2010, 02:16 | #6 |
Заблокирован
Регистрация: 27.08.2009
Сообщений: 569
|
Что странно ,что можно ещё и дописывать в функц-конструктор свойства ,к примеру chelovek1.yra = 'Privet mir';
находясь уже за пределами функции-конструктора. Что-то не понятно как можно здесь сделать наследование, я читал что вроде нужно дописывать куда-то ключёвое слово prototype Только не могу понять как на этом примере дописать, чтоб произошло наследование. Последний раз редактировалось Syltan; 20.04.2010 в 02:21. |
20.04.2010, 02:20 | #7 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
Советую почитать об ООП вот тут:
http://dklab.ru/chicken/nablas/40.html http://javascript.ru/tutorial/object/inheritance http://habrahabr.ru/blogs/webdev/15444/ Очень познавательно расписано. |