[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: this - кто он и зачем он?
Golovastik
function A ( ){
this.t = function () { alert('Hello my little friend') }
}
var a = new A();
a.t();

Что означает this здесь, почему для каждого свойства и метода его нужно писать, почему без него нельзя описать свойство или метод?


Читаю здесь http://javascript.ru/tutorial/object/thiskeyword

function Animal(name) {
this.name = name
}
animal = new Animal("beastie");

Если следовать согласно картинке по этой ссылке:
1. Конструктор Animal инициализирует объект под названием animal.
2. После того, как инициализация объекта под названием animal прошла.
конструктор Animal создал где-то в оперативной памяти ячейку с названием this
которая стала ссылаться на свойства и методы конструктора под названием Animal?
3. Что вызывается если уже всё вызвалось ,если следовать согласно картинке?

Расшифруйте пожалуйста те, 3 пункта из той ссылки правильно.
Заранее благодарю.



Спустя 1 час, 9 минут, 40 секунд (3.03.2011 - 02:26) inpost написал(а):
Golovastik
this - тот объект, который вызвал данную функцию. То есть, чтобы сократить сам код в целом. Иначе бы ты передавал параметр ID, а потом его инициализировал как document.getElementById

Спустя 5 часов, 21 минута, 47 секунд (3.03.2011 - 07:47) alex12060 написал(а):
В объектах, this обозначает самого себя. Т.е. он показывает. что мы вызываем из данного класса (this) переменную (функцию).

this.name // этот класс.переменная имя

Спустя 2 часа, 3 минуты, 59 секунд (3.03.2011 - 09:51) Dezigo написал(а):
Еслы ты не понемаешь что тако this, значит нужно сначало выучить что такое объект.

Спустя 4 часа, 14 минут, 20 секунд (3.03.2011 - 14:06) Игорь_Vasinsky написал(а):
Цитата
Еслы ты не понемаешь что тако this, значит нужно сначало выучить что такое объект.


ага.. там же когда вглядываешься - прям выскакивает - ЧиТаЙ ПрО ОбЪеКт..

всё правильно что спросил.

Спустя 10 часов, 29 секунд (4.03.2011 - 00:06) Golovastik написал(а):
Я знаю что такое объект и чт отакое класс на пхп, я про Джаваскрипт спрашиваю.

1)А где хранится this само, в чём оно находится, в интерпретаторе или в ячейке Оп памяти?
2)

animal = new Animal("beastie");
После вызова конструктора, конструктор инициализировал объект и конструктор стал указывать на этот объект или this(встроенная конструкция языка джаваскрипт)?
3)Вот этот код:

function Animal(name) {
this.name = name
}

Это создание конструктора или класса Javascript?



Спустя 1 час, 15 минут, 21 секунда (4.03.2011 - 01:21) Golovastik написал(а):
То есть в зависимости от того в каком контексте зис находится он в зависимости от этого будет содержать ссылку на тот или иной именно объект, а не свойство или метод объекта?

Если я напишу так

pavel.dyrov.psix

На какой объект будет указывать ключевое слово зис.?

Спустя 20 часов, 35 минут, 9 секунд (4.03.2011 - 21:57) Golovastik написал(а):
Если в Яваскрипте нету классов, тогда когда я создаю объект, я создаю объект объекта получается?

Спустя 1 час, 2 минуты, 4 секунды (4.03.2011 - 22:59) Golovastik написал(а):
Прочитал здесь: [url] http://ru.wikipedia.org/wiki/%D0%9F%D1%80%...%BD%D0%B8%D0%B5[/url]


В прототип-ориентированных системах предоставляется два метода
создания нового объекта: клонирование существующего объекта,
либо создание объекта «с нуля».


Получается написав так я объявил просто метод ТЕСТ со свойствами, но не класс?

<script type="text/javascript">
function
test(){
this.a = "Чай";
document.write(this.a);
}

var sssr = new test;
sssr.a;
</script>

Спустя 29 минут, 56 секунд (4.03.2011 - 23:29) Golovastik написал(а):
Здесь уточнить момент хотел.

<script type="text/javascript">
function
test(){ //Это создание метода с именем ТЕСТ, тоже самое что я создал объект ТЕСТ?
this.a = "Чай";
document.write(this.a);
}

/*Если свойство объекта - это тоже объект, получается "объект объекта".*/
//То есть sssr.a свойство а - это объект?

var sssr = new test;
sssr.a;
</script>


А если бы я просто объявил функцию со свойствами, но не создавал бы объекта, тогда вот это:

function test(){
this.a = "Чай";
document.write(this.a);
}


означало бы создание объекта со свойствами?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.