|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
FD авто генерация this.obj вместо _obj
Заметил что иногда при генерации переменной из параметра в конструкторе у меня создаётся переменная вида _someVar, а иногда - this.someVar. Как сделать так чтобы всегда было this.someVar?
|
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
this.someVar генерируется, когда имя переменной класса совпадает с именем переменной в конструкторе.
|
|
|||||
не понял, так оно ж всегда совпадает!
пример: Я просто пишу buyedItems:Array в параметрах функции и нажимаю Ctrl + Shift + 1. Всё остальное FD делает сам. Токо вот как он это делает почему то отличается |
|
|||||
Регистрация: Mar 2008
Сообщений: 215
|
Если свойство Prefix fields when... пустое, то генерироваться _someVar, по идее, не может.
|
|
|||||
this добавляется для того, чтобы функция "понимала" к какому свойству вы обращаетесь к свойству класса или к свойству функции. А так как если имена обоих свойств совпадают, то внутри функции доминирует свойство функции. По этому нужно уточнять через this к какому свойству и обращаетесь.
Объяснил плоховато, но может что-то прояснится. Последний раз редактировалось samana; 16.08.2011 в 04:26. |
|
|||||
samana, да причём здесь это! Я просто спрашиваю про особенность работы самого FD. я прекрасно понимаю зачем там this и он меня там более чем устраивает! Вопрос в другом, попробуйте написать buyedItems:Array в параметрах функции и нажмите Ctrl + Shift + 1. Он вам напишет Generate field from parametr, следовательно создастся вот эта конструкция
private var buyedItems:Array; public function ShoppingCart(buyedItems:Array) { this.buyedItems = buyedItems; } почему? |
Часовой пояс GMT +4, время: 19:27. |
|
« Предыдущая тема | Следующая тема » |
|
|