gpt4 book ai didi

javascript:传递函数名称与 IIFE

转载 作者:行者123 更新时间:2023-12-03 03:25:01 26 4
gpt4 key购买 nike

(希望我的术语是正确的......)

我的代码,大大简化了:

function foo(parm1, fn){
// do stuff with parm1, and then...
window[fn]();
}

function bar(){
// do the other thing
}

然后调用它:

foo('some string', 'bar');

我想使用函数表达式(?),如下所示:

foo('some string', function(){ // do the other thing });

同时保留传递函数名称的选项,如第一个示例中所示,当“bar”必须执行许多步骤时。我试过了

function foo(parm1, fn){
// do stuff with parm1, and then...
if(typeof fn != 'function'){
window[fn]();
} else {
return true;
}
}

foo('some string', function(){ // but this never fires });

我可以两者兼得吗?

最佳答案

你可以。如果它是一个函数,您忘记调用 fn:

if(typeof fn != 'function'){
window[fn]();
} else {
fn(); // fn is (probably) a function so lets call it
}

关于javascript:传递函数名称与 IIFE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46371246/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com