![]() |
|
||||||||||
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
А зачем создавать внутри локальные переменные? Плохо это или хорошо?
Это некорректный вопрос. Если нужно - то создаем. И тогда хорошо. A.prop="функция А"
function A(){ // функция-оболочка
var per=null // переменная объекта активации функции-оболочки
var external=arguments.callee // функция А как объект
B()
function B(){ // внутренняя функция
trace(this) // this - указывает на объект активации функции-оболочки
trace(this.per)
trace(this==external) // объект активации не то же самое, что функция как объект
trace(external.prop) // свойство функции как объекта
}
}
A()
Последний раз редактировалось chingachgoog; 17.06.2008 в 19:36. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Локальный переменные более быстрые и код выглядит читабильнее.
А вложенные функции не могу достучаться ни до свойств, ни до методов класса, только до локальных переменных в методе, в котором были определены и какой от этого практический смысл? Таже подписка на события, ну создали мы обработчки загрузки, функциональность у него низкая, зато у каждого объекта по копии данной функции в памяти. На твои вопрос я ответил, а теперь ответь на мои в 11 посту. |
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Почему локальные переменные более быстрые? Наверное потому, что цепочка видимости сразу с них начинается и не надо ее всю проходить. Так? Тогда и локальные (внутренние) функции тоже более быстрые.
Цитата:
Зачем обязательно внутренней функции видеть свойства и методы класса? (кстати если очень хочется, то можно и достучаться) Что значит по копии функции в памяти? Будет копия функции как объекта? Да. Если мы СОЗДАЕМ ОБЪЕКТ через new (функция оболочки будет классом). И прописываем в этот объект внутреннюю функцию. Но ведь и внутренняя функция может быть классом. Тогда хорошо, что она уникальная - можно использовать ее свойства как статические для класса. Вообщем это дело широты фантазии программиста, как использовать внутренние функции. |
|
||||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
|
|||||||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Цитата:
Цитата:
А метод класса один, потомучто он в прототипе. Но так это не всегда и надо. Цитата:
Программист пишущий на AS1 не есть синоним "плохой программист", ровно как и наоборот для AS2/3 А сложный код вполне можно принять за кашу. Цитата:
Об уровне говорит результат. ![]() |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Цитата:
Цитата:
Последний раз редактировалось iNils; 17.06.2008 в 20:55. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ага, можно творить что угодно, но только ничего вразумительного.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 05:13. |
|
|
« Предыдущая тема | Следующая тема » |
|
|