Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > есть ли функция в другом файле


Автор: bars80080 26.6.2009, 11:43
есть два файла .js . первый основной, всегда подключается, второй дополнительный, свой для каждого модуля

надобно запускать функцию по загрузке окна, но такой запуск уже есть в первом файле в ввиде window.onload = function() { firstFunc(); };

я могу в firstFunc засунуть вызов некой функции из второго файла, но как узнать, существует ли она?
есть мысль перебрать через for in все свойства window или document, но как-то нехочется вешать такую штуку без надобности

есть какие-нибудь ещё способы?

Автор: dstorm81 26.6.2009, 14:39
try{}
catch(e){}

не спасут?

Код

<html>
<head>
<script type='text/javascript' src='1.js'></script>
</head>
<body>
<script>
function s()
{
try{mmm()}
catch(e){alert('no')}
}
</script>
<input type="button" onclick="s()" value="press" />
</body>
</html>


1.js
Код

function mm(){alert('hhh')}

Автор: ksnk 26.6.2009, 15:23
if(typeof(firstFunc)=='function') firstFunc();
или, если с типами свистопляски быть не может -
if(!!firstFunc) firstFunc();

Автор: An6rey 27.6.2009, 00:23
ksnk

Второй вариант выбросит ошибку
Первый вариант и только

Автор: bars80080 27.6.2009, 14:37
замотался, завтра-послезавтра обязательно попробую

Автор: bars80080 29.6.2009, 11:18
Цитата(ksnk @  26.6.2009,  15:23 Найти цитируемый пост)
if(typeof(firstFunc)=='function') firstFunc();

да, этот вариант отлично справился

спасибо всем

Автор: Samotnik 30.6.2009, 11:11
bars80080,   smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)