gpt4 book ai didi

javascript - 如何在它是匿名函数时调用其中的函数

转载 作者:行者123 更新时间:2023-11-30 16:51:04 25 4
gpt4 key购买 nike

var scaleJssor = new Array();
for(myloop=0; myloop<jssor_slider.length; myloop++)
{
scaleJssor.push(
function() {
var parentWidth = jssor_slider[myloop].$Elmt.parentNode.clientWidth;

if (parentWidth)
{
//alert("executing ScaleSlider");
jssor_slider[myloop].$SetScaleWidth(Math.max(Math.min(parentWidth-100, 960), 230));
}
else
window.setTimeout(<here I want to pass this function>, 30);

});

}

以上只是一个代码片段,我只是想知道如何在 setTimeout() 函数中传递函数,其中函数是匿名的,我知道是否给函数命名我可以轻松通过它,但我想要一种不给函数命名的方法。

最佳答案

虽然这不是一个足够好的代码,因为您在循环中一遍又一遍地定义相同的函数。您应该在循环外定义函数。我只是回答你关于 setTimeout() 函数的问题。如果您将参数传递给您的函数,则以下内容可能会有所帮助。

function ScaleJssor(k) { 
var parentWidth = jssor_slider[k].$Elmt.parentNode.clientWidth;

if (parentWidth)
{
//alert("executing ScaleSlider");
jssor_slider[k].$SetScaleWidth(Math.max(Math.min(parentWidth-100, 960), 230));
}
else
window.setTimeout(function(){ScaleJssor(k)}, 30);

}

我认为如果你在你的例子中使用上面的代码,你无论如何都不需要使用循环。

关于javascript - 如何在它是匿名函数时调用其中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30524310/

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