javascript - 这个匿名函数是如何/何时被调用的?

标签 javascript anonymous-function raphael

我是 javascript 的新手,正在查看一些 Raphael 演示代码。我对它的工作原理感到困惑...

if (R) {
    (function (dx, dy, R, value) {
        var color = "hsb(" + [(1 - R / max) * .5, 1, .75] + ")";
...

据我所知,这是在声明一个带 4 个参数的匿名函数。这个函数没有名字的时候怎么调用这个函数??

演示页面.. http://raphaeljs.com/github/dots.html

JS 文件.. http://raphaeljs.com/github/dots.js

最佳答案

为了简要回答您的问题,它会在取消后立即调用。

你遗漏了一个重要的部分,函数定义的结尾:

})(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/

相关文章:

javascript - 获取包含该函数的匿名变量的名称

javascript - ExtJS监听器: anonymous function parameters

javascript - Firefox 中奇怪的 JavaScript 滚动

javascript - 如何使用 chai js 通过正则表达式检查对象是否包含部分键?

javascript - 允许 JavaScript 闭包从父级作用域继承变量

javascript - raphaeljs 的 Mobile Safari SVG 渲染问题

javascript - Raphael.js 如何为路径设置属性?

javascript - 拉斐尔元素中的重复图案

javascript - Javascript 构造函数中函数声明的差异

javascript - 创建面积图 : path with NaN