gpt4 book ai didi

javascript - 以下JavaScript中 "i"中的 "function(i)"是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 04:22:26 27 4
gpt4 key购买 nike

在下面的代码中有“function(i)”,但是在这个语句之前的任何地方都没有声明“i”。

ul.css({width: 10, overflow: 'visible'}).retarder(100, function(i){
i.css('visibility', 'visible').animate(
{width: ul[0].wid,left:-50},
{duration: 500, complete : function(){
ul.css('overflow', 'visible');
}}
);
});

看起来它可能类似于 c++ 的“this”语句。这完全正确吗?

最佳答案

它看起来像一个函数声明:

function(i)
{
// .....
}

所以 i 是一个传递给函数的值(它被声明为一个内联的匿名函数)作为它的第一个参数,大概是通过retarder 您将函数传递到的方法。

重写代码,使其更具可读性一点,这让这更清晰:

ul.css(
{
width: 10,
overflow: 'visible'
}
).retarder(100, function(i)
{
i.css('visibility', 'visible').animate(
{
width: ul[0].wid,
left:-50
},
{
duration: 500,
complete: function()
{
ul.css('overflow', 'visible');
}
}
);
}
);

然后您可以将其重写为甚至更清晰:

ul.css(
{
width: 10,
overflow: 'visible'
}
).retarder(100, functionToPassToRedtarder);

function functionToPassToRetarder(i)
{
i.css('visibility', 'visible').animate(
{
width: ul[0].wid,
left:-50
},
{
duration: 500,
complete: functionToPassToComplete
}
);
}

function functionToPassToComplete()
{
ul.css('overflow', 'visible');
}

关于javascript - 以下JavaScript中 "i"中的 "function(i)"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3534233/

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