Javascript.RU

PHP-функция: function_exists

Javascript:

function function_exists( function_name ) {	// Return TRUE if the given function has been defined
	// 
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: Steve Clay
	// +   improved by: Legaev Andrey


	if (typeof function_name == 'string'){
		return (typeof window[function_name] == 'function');
	} else{
		return (function_name instanceof Function);
	}
}

Примеры:

function_exists('isFinite');
true


Автор: Dronn (не зарегистрирован), дата: 24 января, 2013 - 17:47
#permalink

Спасибо!
Банально, но то что искал..


Автор: Гость (не зарегистрирован), дата: 16 февраля, 2019 - 15:42
#permalink

Спасибо! Просто и понятно.
При использовании окон ajax, скрипт приходится выкладывать в тело страницы которая подгружается с помощью ajax и скрипты также приходится запускать при каждом открытии всплывающего окна.


Автор: zeDemian (не зарегистрирован), дата: 23 марта, 2021 - 15:35
#permalink

как этот же функционал применить к функциям объявленным через let?

function functionExists (functionName) {
        if (typeof functionName == 'string') {
            return (typeof window[functionName] == 'function');
        } else {
            return (functionName instanceof Function);
        }
    }

    function existFirst () {
        console.log('first');
    }

    let existSecond = function () {
        console.log('second');
    }

    console.debug({
        'functionExists_existFirst': functionExists('existFirst'), // TRUE, and this is ok
        'functionExists_existSecond': functionExists('existSecond'), // FALSE, and how to fix it ???
    });

Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 00:30
#permalink

Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 13:20
#permalink

Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
2 + 0 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum