拉斐尔中的 fn 是什么意思?

发布于 2024-09-26 22:28:48 字数 245 浏览 7 评论 0原文

我在 raphael 中看到了 fn 的使用,这是一个 javascript 实验室。

Raphael.fn.g.piechart = function (cx, cy, r, values, opts) {
  // blah...blah
}

它扩展了 raphael,所以人们可以使用 r = Raphael; rgpiechart。

我搜索谷歌,似乎没有什么是我清楚的。希望你能帮忙。

I saw a fn use in raphael, which is a javascript lab.

Raphael.fn.g.piechart = function (cx, cy, r, values, opts) {
  // blah...blah
}

it extend raphael, so people can uses like r = Raphael; r.g.piechart.

I search google and have nothing seem to be clear my mind. hope you help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

月下伊人醉 2024-10-03 22:28:48

fn 用于将您自己的方法添加到画布< /a>

添加到 fn 的任何方法都可以在画布上运行。这与适用于例如元素<的方法形成对比/strong> (您可以使用 el)。

由于扩展 fn 对象将作用于画布,因此您必须在创建 Raphael 实例之前添加自定义方法(如果您扩展 el元素的)。

例如,来自文档:

  // Extend Raphael fn object by adding methods to it:
Raphael.fn.arrow = function (x1, y1, x2, y2, size) {
    return this.path( ... );
}; 
  // or add namespaces to it:
Raphael.fn.mystuff = {
    arrow: function () {…},
    star: function () {…},
    // etc…
};

  // Now when you create a Raphael instance, your custom
  // methods are available.
var paper = Raphael(10, 10, 630, 480);

  // Using custom methods:
paper.arrow(10, 10, 30, 30, 5).attr({fill: "#f00"});

  // Using name spaced custom methods
paper.mystuff.arrow();
paper.mystuff.star();

更新(感谢 AleksandraKos):

请注意,Raphael 2.0 中删除了命名空间插件

fn is used for adding your own methods to the canvas.

Any methods you add to fn will work on the canvas. This is in contrast to methods that would work on for example an element ( for which you would use el).

Since extending the fn object will act on the canvas, you must add your custom methods before creating your Raphael instance (this is not true if you are extending the el of an element).

For example, from the documentation:

  // Extend Raphael fn object by adding methods to it:
Raphael.fn.arrow = function (x1, y1, x2, y2, size) {
    return this.path( ... );
}; 
  // or add namespaces to it:
Raphael.fn.mystuff = {
    arrow: function () {…},
    star: function () {…},
    // etc…
};

  // Now when you create a Raphael instance, your custom
  // methods are available.
var paper = Raphael(10, 10, 630, 480);

  // Using custom methods:
paper.arrow(10, 10, 30, 30, 5).attr({fill: "#f00"});

  // Using name spaced custom methods
paper.mystuff.arrow();
paper.mystuff.star();

Update (thanks AleksandraKos):

Note that, namespaced plugins was removed in Raphael 2.0

鼻尖触碰 2024-10-03 22:28:48

最初它只是与 Raphael 一起创建的一个空对象,它实际上只是:

Raphael.fn = {};

它存储插件的常见位置,当创建新实例时从那里调用它们。

Initially it's just an empty object created along with Raphael, it's literally just:

Raphael.fn = {};

It's a common place for plugins to be stored, and they're called from there when a new instance is created.

冬天旳寂寞 2024-10-03 22:28:48

在您自己的 JS 代码中它可以是您想要的任何内容 - 它不是 保留字 ,它没有任何特殊含义,因此您可以命名变量或方法 fn,就像您可以使用 foomyVariable 等名称一样。例如,在 jQuery 中,jQuery.fn === jQuery.prototype(插件作者的快捷方式)。

In your own JS code It can be whatever you want - it's not a reserved word, it doesn't have any special meaning, so you can name variable or method fn just like you can use names like foo or myVariable. In jQuery, for example, jQuery.fn === jQuery.prototype (a shortcut for plugin authors).

煮酒 2024-10-03 22:28:48

它是功能的缩写。

它用作 Raphael 存储其所有函数的命名空间,它自动允许您将这些函数应用到纸质对象。

您还可以通过向 Raphael 添加功能来扩展 Raphael 的功能。

这类似于 jQuery 的 $.fn 的工作方式。

Its short for function.

Its used as a namespace which Raphael stores all its functions under, which automatically allows you apply these functions to a paper object.

You can also extend the functionally of Raphael by adding functions to it.

This is similar to how jQuery's $.fn works.

回心转意 2024-10-03 22:28:48

fn 在 JavaScript 中没什么特别的。这只是拉斐尔使用的财产的名称。请参阅http://raphaeljs.com/reference.html

fn is nothing special in JavaScript. It's just the name of a property Raphael uses. See http://raphaeljs.com/reference.html

叫思念不要吵 2024-10-03 22:28:48

JavaScript 中的 fn 没有什么特别的。

Nothing special with fn in JavaScript.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文