![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Здесь можно выражать спасибы, а также спрашивать что не ясно. Делать заявки на другие темы и аспекты JS. Впрочем я сам буду постепенно выкладывать "подноготную"
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Браво
|
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Объясни, зачем вот это:
в первом посте... Оно ж ничего не делает... |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Это пример, что функция это обьект, как любая другая переменная. Это трудно усвоить например людям пришедшим из C.
Неужели кто то решил таки прочесть сие Какюсь, ещё не дописал, даже примеров из жизни не привёл, всё потом... -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Ясно-понятно. Я это хорошо понимаю, значит пропускаем
Во втором посте в самом первом коде, почему вот это
выдает 2, а не 0? да я в первый же день прочитал ее, очень хорошая статья. вот теперь осмысливаю, разбираюсь.. |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Потому что при вызове функции, не важно как конструктор или как просто функция, создаётся вложенная функция, ссылка на которую присваивается переменной а. Вложенная функция наследует контекст, в котором определенна переменная parg, содержащая ссылку на список аргументов "родительской функции". Другими словами новая функция содержит "вызов" родительской функции и имеет список всех переменных доступных из контекста в момент вызова. При каждом новом вызове "родительской функции" создаётся новая функция, записываемая в а, при вызове функция показывет сколько аргументов было у родителя в момент его вызова. Попробуй написать пару тестов, сразу поймёшь суть -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Sardar
Все время кажется, что нельзя прочитать те значения, которые объявлены после их чтения... Понятно, теперь. Добавлено @ 22:18 Вау, я понял пост номер три полностью. Я понял что мне было не понятно - функция test - конструктор. Если мы пишем this - мы создаем новое свойство у объекта... а если var - то переменную Теперь собственно буду ждать инфы о собственно-прототипах, спасибо Сардару |
|||
|
||||
| Иль |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: 2 Всего: 14 |
Выражаю свои СПАСИБЫ. Sardar, спасибо что потрудился и потратил время, хорошо цементирует -------------------- Ты виндусятник?... А я да. |
|||
|
||||
| Иль |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: 2 Всего: 14 |
Я не ошибаюсь, что в рекурсии каждый раз создаются новые объекты function?
Это сообщение отредактировал(а) Иль - 2.6.2005, 20:55 -------------------- Ты виндусятник?... А я да. |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Иль, ты всё правильно понял потому функция и держит "контекст вызова внешней функции" Другое дело что в конкретной имплементации не обязательно создаёться куча скомпилированного скриптового кода в памяти, контекст передаёться единой функции, что экономит память и работает быстрее. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Иль |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: 2 Всего: 14 |
Sardar, я недопонимаю. Получается что на практике реализация этого объектного подхода в рекурсии или вложенном вызове самой себя через другие функции не работает?
Вот смотри, есть функция.caller и есть arguments.callee. Они ж дают ссылки на соответствующие объекты, тогда ж почему в операторе if сравниваются их строковое представление?
Добавлено @ 11:02 Или это из-за специфики работы оператора if Это сообщение отредактировал(а) Иль - 3.6.2005, 12:30 -------------------- Ты виндусятник?... А я да. |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
ppc. Я наконец-то понл примененеие протопипа в большинстве случаев. Ура, товарищи.
Все таки я прочел проф. книгу - понимаю, что до этого нужно "дорости" самостоятельно =) Вот непонятой осталась одна область: Зачем протопипы сущ-ют для функции? |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Иль, нет не их строковое преставление сравниваеться, сравниваються ссылки, если обе переменные ссылаються на один обьект функцию, то они идеентичны. Другое дело что caller вещь весьма магическая, не рекомендуемая к употреблению
P.S. ивиняюсь что так поздно отвечаю, потестил, получил результаты что не смог обьяснить, а навязывать свою точку зрения не хотел =)
В смысле зачем? Функция это тоже обьект, следовательно имеет конструктор(Function), следовательно и прототип(Function.prototype). Будешь ли ты это использовать, третий вопрос, но в языке не должно быть исключений если это не необходимо P.S. В Опере 6 обьект Function не существует. В IE обьект event, window и другие DOM0 обьекты не имеют поля constructor. Это конечно верно, это всё синглтоны, но вносит исключения, что не есть гуд. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Так и знал, что ответ будет таким. Я это прекрасно знаю. меня именно интересует применение |
|||
|
||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Ну я по натуре человек предсказуемый А применяться это может например чтобы IE5.0 пофиксить, он не поддерживает методов call и apply у функций.
Аналогично пишеться apply. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |