javascript 简写 if else 回调

标签 javascript shorthand shorthand-if

长手 if 在 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;}

}

但是它不起作用。

我怎么能?

谢谢

最佳答案

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

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
}

关于javascript 简写 if else 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8086852/

相关文章:

javascript - 有条件 "not equal to a and not equal to b"等的 JS 简写吗?

php - 简写 if then else php 中的性能/优化

javascript - Array.filter 数字加零

javascript - 使用 if-else 速记时省略第二个表达式

javascript - 编写一个 ruby​​ gem,向 Rails 添加 js 方法

具有多个属性的 CSS 转换速记?

css - 如何配置 SASS 输出速记十六进制颜色

c# If else简写

javascript - 如何通过 XMLHttpRequest 加载数据来填写 AngularJS 表单

javascript - 连续循环遍历给定数量项目的数据集