понедельник, 7 сентября 2009 г.

Эквивалент функции function_exists на JavaScript

Бывают ситуации, когда нужно проверить существует ли объявление функции непосредственно перед её вызовом. На языке php для этого существует специальная функция bool function_exists (string $function_name). В языке JavaScript такая функция, увы, отсутствует. Тогда напишем своими ручками...

Эквивалент функции function_exists на JavaScript будет выглядеть следующим образом:

if (window.runThisFunction) { // if function is defined - run it
    runThisFunction();
}

Это было самое простое и короткое решение, но для любителей всё усложнять, могу привести и другой пример, который удалось найти в Интернете. Более сложный пример function_exists на JavaScript приведен ниже, оформлен в виде функции, возвращающей bool-значения:

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

Комментариев нет:

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

Рекоммендую

Попробуйте надёжный хостинг от Scala Hosting