gpt4 book ai didi

javascript - jQuery 创建一个不是回调的回调?

转载 作者:行者123 更新时间:2023-11-30 08:54:36 24 4
gpt4 key购买 nike

好吧,让我看看我能否描述一下。

我有一些功能是前段时间创建的,并且运行顺畅。然而,有一个新的期望规范,所以无需重写代码库,也无需加倍编写代码来实现相同的效果,我正在尝试弄清楚如何让一些东西跳跃起来回到同一函数内代码的更高层以重复函数的运行,而不是在下面再次执行相同的代码。

我有一个基于点击的触发器,即:

$('.selector').click(function(){});

在这个函数中大约有 30 行功能来创建一个新元素并相应地填充它。然而不幸的是,在同样的功能中,有条件决定它是否应该。

*以前的要求是当它创建的元素打开并填充时,只需抛出一个 alert() 说的基本上是结束你所做的事情,然后继续下一个。

*现在新的要求只是关闭它并打开一个新元素。
我已经关闭了现有的,并做我想做的一切,除了人口高于当前条件的新元素。

知道在 javascript 中没有“转到”类型的逻辑(或者我最后知道的)。我唯一能想到的就是从上面获取相同的代码并将其也放入条件中,将代码加倍并具有相同位的 2 个副本。我想避免这种情况,但想不出办法。所以我在这里寻找想法

最佳答案

Knowing there is no "go to" type of logic in javascript (or last I knew). the only thing I can think of is taking the same code from above and putting it in the condition as well, doubling up on the code and having litterally 2 copies of the same bit. I want to avoid that, but cant think of a way to do it. So here I am looking for ideas

为什么不直接将这段代码拉出到一个函数中呢?如果条件在原始实例中为真,您可以运行该函数,并在您的回调中一直运行它吗?这是相当小的重构,只需将代码从逻辑中移出到一个单独的函数中,保持原样,并可能将一些引用的变量变成参数。

所以如果你想运行所有的 Action 而不考虑条件语句,就像这样:

...
if(condition){
actionA();
}
if(condition2){
actionB();
}
...

$('.selector').click(function(){
actionA();
actionB();
});

关于javascript - jQuery 创建一个不是回调的回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14778555/

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