Javascript 如果else回调
javascript中的长柄if看起来: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;
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的解决方案还是达到了我的目的。我感兴趣的是触发一个警告,而不是设置变量,因此,我编辑了这个问题,以简单地返回;如在退出功能谢谢你的评论启发了我。。。我现在想比赛