сокращение от Javascript, если обратный вызов else - PullRequest
0 голосов
/ 11 ноября 2011

длинная стрелка, если в javascript будет выглядеть:

function somefunction(param){

    if(typeof(param) != 'undefined'){
           var somevar = param;
         } else {

           alert('ERROR: missing parameter in somefunction. Check your form'); 
           return;

         }

}

И ВЕРСИЯ МОЕЙ КРАТКОЙ РУКИ:

function somefunction(param){

    param = typeof(param) != 'undefined' ? param : function(){alert('ERROR: missing parameter in somefunction. Check your form'); return;}

}

НО она не работает.

КакМогу я?

Спасибо

1 Ответ

3 голосов
/ 11 ноября 2011

Вы только декларируете функцию.Вы должны выполнить это.Добавить () рядом с определением ..

function somefunction(param){
    param = typeof(param) != 'undefined' ?
                param :
                function() {
                    alert('ERROR: missing parameter in somefunction. Check your form'); 
                    return false;
                }();
}

РЕДАКТИРОВАТЬ: Выше не функционально эквивалентно оригиналу, так как сама функция ничего не возвращает и не завершает выполнение функции.

function somefunction(param) {
    if (typeof(param) == 'undefined') {
        alert('ERROR: missing parameter in somefunction. Check your form'); 
        return false;
    }

    // Use param
}
...