繁体   English   中英

javascript,奇怪的功能安排,不明白

[英]javascript, strange function arrangement, don't understand

请参阅以下javascript。 当函数以这种方式排列时,它们如何能够运行而不被专门调用。 我的意思是下面的函数在不被调用的情况下运行,而且我不知道该怎么做。

(j, function() {
alert(1);
})

大概是这样的:

eval(s)(j, function() { catch (_) { } } 

看起来这些是函数调用的参数,即

foo(j, function() {
   alert(1);
})

这将传递j的当前值作为第一个参数,并在那里列出的函数作为第二个参数。

就是说,要调用该功能(警告1的功能), foo必须手动调用它。 遵循以下原则

function foo(j, f){
    f();
}

编辑

因此,根据您的问题编辑,上面的内容看起来不太正确,除了您不是从直接引用函数而是从eval语句中获取函数。

像这样:

function foo(j, f){
     f();
}
var s = "foo";
var j = 0;
eval(s)(j, function() {
    alert(1);
})

这是一个工作场所

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM