在JavaScript中使用多个return语句

时间:2013-03-14 14:00:31

标签: javascript return

我正在尝试使用多个返回但只是不断破坏代码。我尝试过几个例子,但找不到合适的组合。

如何将这两个return语句合并为一个?

$(".bar").popover({
content: 
    function (){
        return $(this).data('dataObj').status;
        return $(this).data('dataObj').timeline;
    }
});

4 个答案:

答案 0 :(得分:8)

使用

function (){
    return $(this).data('dataObj');
}

OR

function (){
    // return an array
    return [ $(this).data('dataObj').status, $(this).data('dataObj').timeline ]
}

OR

function (){
    // return a associative array
    return { "status": $(this).data('dataObj').status, "timeline": $(this).data('dataObj').timeline }
}

并处理调用者中的组件。

<强>更新

content的{​​{1}}参数需要一个字符串作为参数,你可以这样做:

popover

答案 1 :(得分:3)

撇开这个特定情况,插件需要某种类型的返回值(在这种情况下显然是一个字符串),你真的不能...... 一个return语句终止函数。你需要做的是返回一个包含这两个值的对象(或数组) -

var status = $(this).data('dataObj').status;
var timeline = $(this).data('dataObj').timeline;
return [status,timeline];

或者

var status = $(this).data('dataObj').status;
var timeline = $(this).data('dataObj').timeline;
var returnObj = {'status':status, 'timeline':timeline};
return returnObj;

答案 2 :(得分:1)

您可以返回包含这两个项目的对象或数组

$(".bar").popover({
content: 
    function (){
        return 
        {
        status: $(this).data('dataObj').status;
        timeline: $(this).data('dataObj').timeline;
        }
    }
});

答案 3 :(得分:0)

尝试使用.status和.timeline作为元素返回数组。 Ok Lix更快。