Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果else回调_Javascript_Shorthand_Shorthand If - Fatal编程技术网

Javascript 如果else回调

Javascript 如果else回调,javascript,shorthand,shorthand-if,Javascript,Shorthand,Shorthand If,javascript中的长柄if看起来: function somefunction(param){ if(typeof(param) != 'undefined'){ var somevar = param; } else { alert('ERROR: missing parameter in somefunction. Check your form'); return;

javascript中的长柄if看起来:

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;}

}
但它不起作用

我怎么能


谢谢

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

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
}

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

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
}

但这并不等同于原始函数:它将param设置为false,而不是从somefunction()返回false。@nx6是的,你是对的,我很高兴你指出了这一点。我是个新手,没有解释“退货”的含义。尽管如此,amit_g的解决方案还是达到了我的目的。我感兴趣的是触发一个警告,而不是设置变量,因此,我编辑了这个问题,以简单地返回;如在退出功能谢谢你的评论启发了我。。。我现在觉得自己是匹配的,但这并不等同于原始函数:它将param设置为false,而不是从somefunction()返回false。@nx6是的,你是对的,我很高兴你指出了这一点。我是个新手,没有解释“退货”的含义。尽管如此,amit_g的解决方案还是达到了我的目的。我感兴趣的是触发一个警告,而不是设置变量,因此,我编辑了这个问题,以简单地返回;如在退出功能谢谢你的评论启发了我。。。我现在想比赛