0

如果在 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;}

}

但它不起作用。

我怎么能?

谢谢

4

1 回答 1

3

您只是在声明函数。你必须执行它。在定义旁边添加 () ..

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
}
于 2011-11-10T21:54:23.690 回答