Проверить объявлена ли функция

Доброго времени суток!!Прошу прощения если уже была подобная тема (не смог найти, если была)но вот вопрос у меня такой:Есть ли в JavaScript'е функция которая определяет, было ли уже объявление функции с таким именем? или же не реагировать и перекрывать её, т.к. в случае повторного объявления ошибки не вылетает.зарание благодарен!! хотел бы узнать как в данном случае сделать лучше
6 ответов

if(!$){  function $(x){ return document.getElementById(x) }} else {  alert('Я люблю одиночество! Унесите отсюда ваш prototype')}
Вообще-то перекрывать функции с такими-же именами плохо... Кто-то их писал, на что-то расчитывал. И тот, кто положил все это на сайт, тоже, видимо, чего-то от них хотел...


ksnk, Спасибо! да я понимаю что перекрывать чужие фун-ции некрасиво, вот я и тут поэтому   только вот еще вопрос, по поводу представленного тобой коду... а как им воспользаваться?    не видел в JavaScript никогда одиночного $, что он обозначает не знаю, сорри за непонимание  


Это имя оригинальной функции из prototype.js. Смысл: if(window.setTimeout)...  или if(typeof(clearTimeout) == 'function')...typeof используем если не хотим обращаться к window (global), иначе будет исключение (тонкий юмор от ECMA).


Sardar, Спасибо, проверил, typeof то что нужно!! спс


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


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