gpt4 book ai didi

javascript - "repeating"方法调用的奇怪 Javascript 语法

转载 作者:行者123 更新时间:2023-11-28 11:55:04 24 4
gpt4 key购买 nike

我刚刚在一些生产代码中偶然发现了以下 javascript 片段。它适用于 Chrome 和 IE,但它不是我以前见过的语法。具体代码片段是使用 jquery vegas 插件在计时器上旋转一些图像背景,并在图像上覆盖透明像素网格。

这是生产中的代码。

$(function () {
$.vegas('slideshow', {
delay: 10000,
backgrounds: [
{ src: '@Url.Content("~/Images/1.jpg")', fade: 3000 },
{ src: '@Url.Content("~/Images/2.jpg")', fade: 3000 }
]
})('overlay', { //<<<----- LOOK AT THOSE TOUCHING PARENTHESES
src: '@Url.Content("~/Content/Overlays/02.png")'
});
});

这似乎相当于更“可读”的形式。

$(function () {
$.vegas('slideshow', {
delay: 10000,
backgrounds: [
{ src: '@Url.Content("~/Images/1.jpg")', fade: 3000 },
{ src: '@Url.Content("~/Images/2.jpg")', fade: 3000 }
]
})

$.vegas('overlay', {
src: '@Url.Content("~/Content/Overlays/02.png")'
});
});

所以看来,在第二对括号中传递第二组参数将使用第二组参数再次重新执行相同的方法,但我正在努力寻找术语来搜索这个javascript 语法类型,因为我在其他语言中没有见过这种语法。

谁能解释一下。

最佳答案

这是 method chaining 的一种形式,但该方法返回一个方法而不是一个对象。

方法链接的通常形式是返回对象 (this),以便您可以在同一对象上调用另一个方法:

$.vegas( ... ).vegas( ... );

当方法返回的是方法而不是对象时,可以再次调用,无需指定名称:

$.vegas( ... )( ... );

关于javascript - "repeating"方法调用的奇怪 Javascript 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25502472/

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