Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверить объявлена ли функция 
V
    Опции темы
drpain
Дата 8.2.2008, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 27.9.2007

Репутация: нет
Всего: нет



Доброго времени суток!!

Прошу прощения если уже была подобная тема (не смог найти, если была)

но вот вопрос у меня такой:

Есть ли в JavaScript'е функция которая определяет, было ли уже объявление функции с таким именем?
 
или же не реагировать и перекрывать её, т.к. в случае повторного объявления ошибки не вылетает.



зарание благодарен!! хотел бы узнать как в данном случае сделать лучше
PM MAIL   Вверх
ksnk
Дата 8.2.2008, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Код

if(!$){
  function $(x){ return document.getElementById(x) }
} else {
  alert('Я люблю одиночество! Унесите отсюда ваш prototype')
}

Вообще-то перекрывать функции с такими-же именами плохо... Кто-то их писал, на что-то расчитывал. И тот, кто положил все это на сайт, тоже, видимо, чего-то от них хотел...


Это сообщение отредактировал(а) ksnk - 8.2.2008, 11:20


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
drpain
Дата 8.2.2008, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 27.9.2007

Репутация: нет
Всего: нет



ksnk, Спасибо! да я понимаю что перекрывать чужие фун-ции некрасиво, вот я и тут поэтому smile  

только вот еще вопрос, по поводу представленного тобой коду... а как им воспользаваться?  smile  не видел в JavaScript никогда одиночного $, что он обозначает не знаю, сорри за непонимание smile 
PM MAIL   Вверх
Sardar
Дата 8.2.2008, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Это имя оригинальной функции из prototype.js. Смысл: if(window.setTimeout)...  или if(typeof(clearTimeout) == 'function')...

typeof используем если не хотим обращаться к window (global), иначе будет исключение (тонкий юмор от ECMA).


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
drpain
Дата 8.2.2008, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 27.9.2007

Репутация: нет
Всего: нет



Sardar, Спасибо, проверил, typeof то что нужно!! спс
PM MAIL   Вверх
ksnk
Дата 8.2.2008, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



drpain, $ считается таким-же символом, как и буквы и цифры и может в любом месте встречатся в идентификаторах. Насколько мне не изменяет склероз, символ $ НЕрекомендовался к использованию, так как считалось, что идентификатторы с этим символом могут автоматически генерироваться некими системами автоматической генерации скриптов... Так как тех систем толком никто не видел, авторы Prototype и jQuery обозвали так главную функцию собственных фреймворков...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
drpain
Дата 8.2.2008, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 27.9.2007

Репутация: нет
Всего: нет



Спасибо всем за помошь!

 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0555 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.