![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Zeroglif |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
AKS,
Если language пришёл третьим аргументом его бы надо пропустить в родной таймаут. Вместо !aFunc.apply лучше !Function.prototype.apply. Проверка на [native code] мне кажется лишней/непредсказуемой, может всё-таки обезопасить себя не переопределением родного/чужого setTimeout-а, а созданием своего (отдельно лежащего) метода (как у stchur-а) на свой объект. Строгое равенство при сравнении с typeof aFunc - масло масляное. Не хотите проверить на неравенство сo 'string', чем равенство с 'function' , у IE некоторые методы типа 'object', да и в разных браузерах может быть по разному. Где итерация и где return из func я бы записал всё в одну строку тернарным..., легче будет читать... Ещё, чуть не забыл, аргументы для eval лучше бы собрать в строку, !!!не стоит полагаться на массив. AKS, +1 Добавлено @ 11:42 Лучше SETtimeOUT(); ![]() Это сообщение отредактировал(а) Zeroglif - 27.7.2007, 12:04 |
|||
|
||||
AKS |
|
||||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
О-о-о, спасибО!
Точно, так и надо! Сделаю! А вот это не понял - чем лучше? Т.е. где-нибудь может и по-другому выглядеть нативный body? Вот хотелось бы, конечно, не так, как у Стива. "Заманчивей" выглядит так, как сейчас, хотя если делать по-серьезному, типа безопасней ("по-взрослому"), то надо так, как Вы пишите. Сделаю "постным". ![]() Уже хочу - переделаю. Ну и я тогда также сделаю.
Ух, а что не так с массивом? P.S. Чуть позже отредактирую функцию там, где она уже есть (новых сообщений делать не буду). Это сообщение отредактировал(а) AKS - 27.7.2007, 12:13 |
||||
|
|||||
AKS |
|
||||||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
Zeroglif, надоело Вам тут уже в одной теме наверно, но я все же еще побеспокою, поскольку вопросец назрел серьезный.
Вы говорите "у IE некоторые методы типа 'object'", и вместо равенства с 'function' выбрать 'string'. А как же тогда быть, если кто-нибудь сунет что-то без [[Call]]? Поместить вызов в try/catch? P.S. А может на предмет "передана ли исполняемая процедура?" проверять как-нибудь по такому принципу:
? Да тут еще с этими 'object' выясняется, что проверка на !aFunc.apply просто необходима...
Как-то так, пока:
Это сообщение отредактировал(а) AKS - 27.7.2007, 13:29 |
||||||
|
|||||||
Zeroglif |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
Зачем? Пусть ошибки лезут. Не суй в другой раз. ![]() aFunc имеет полное право тащить на себе левое свойство apply, Function.prototype - тоже, но там скорее всего или не будет ничего вообще, или будет уже готовая эмуляция. toString может быть некачественно реализован или переопределён. |
|||
|
||||
AKS |
|
||||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
Так, ясненько! Смотрите, как прикольно получается:
!!! ![]() Как же "присобачить" к возвратному значению ссылку на новое окно? В принципе, вернуть-то можно что угодно. ![]() ![]() Добавлено @ 13:47 Так, раз такое дело, то тогда так, наверно:
Это сообщение отредактировал(а) AKS - 27.7.2007, 13:48 |
||||
|
|||||
Zeroglif |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
||||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
||||
|
||||
AKS |
|
|||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
Ну и хорошо - ничего лишнего, здоровая умеренность во всем! ![]() Вот как же быть с проверкой [native code] - хочется ведь получить родной метод или прервать выполнение кода... Отредактировал функцию на 2-ой стр. (27.7.2007, 18:39). Это сообщение отредактировал(а) AKS - 27.7.2007, 18:44 |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |