如果在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;}
}
但它不起作用。
我怎么能?
谢谢
答案 0 :(得分: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
}