我是 javascript 的新手,正在查看一些 Raphael 演示代码。我对它的工作原理感到困惑...
if (R) {
(function (dx, dy, R, value) {
var color = "hsb(" + [(1 - R / max) * .5, 1, .75] + ")";
...
据我所知,这是在声明一个带 4 个参数的匿名函数。这个函数没有名字的时候怎么调用这个函数??
最佳答案
为了简要回答您的问题,它会在取消后立即调用。
你遗漏了一个重要的部分,函数定义的结尾:
})(leftgutter + X * (j + .5) - 60 - R, Y * (i + .5) - 10, R, data[o]);
这里说的是,结束函数,然后是
)
,结束以(function
)开头的括号。如果什么仍然看起来像一个参数列表,那是因为它是。
一个说明性的例子:
(function(arg){ alert(arg); })("Hi!");
关于javascript - 这个匿名函数是如何/何时被调用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3822721/