我有一个功能写(arg)
function written(arg)
{
for(var i in arg)
console.log(arg[i]);
}
通常需要一个字符串,但我想修改它,以便它可以将函数作为参数。在那次改变之后,我想把它称为
written(function(){return str;})
所以我的问题是如何在arg
中提取function written
的值,其中它可以是String或返回String的函数
答案 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
}
以防你有更高级的订单功能