在javascript中获取函数返回值作为参数

时间:2013-07-12 11:35:28

标签: javascript function

我有一个功能写(arg)

function written(arg)
{
for(var i in arg)
console.log(arg[i]);
}

通常需要一个字符串,但我想修改它,以便它可以将函数作为参数。在那次改变之后,我想把它称为

written(function(){return str;}) 

所以我的问题是如何在arg中提取function written的值,其中它可以是String或返回String的函数

2 个答案:

答案 0 :(得分:0)

你可以检查传递的参数是否是函数,如果是,则调用它来访问json值

function written(arg){
    if(typeof arg === 'function'){
        arg = arg();
    }
    for(var i in arg){
        console.log(arg[i]);
    }
}

演示:Fiddle

答案 1 :(得分:0)

我建议在检查参数后,递归调用函数:

function written(arg){
    if(typeof arg === 'function'){
        return written.apply(this,[arg()]);
    }
    // Actual body of your function
}

以防你有更高级的订单功能