gpt4 book ai didi

javascript - 如何将命名函数与 for each 和 this 一起使用

转载 作者:搜寻专家 更新时间:2023-11-01 05:12:57 24 4
gpt4 key购买 nike

我发现不使用匿名函数通过将代码扁平化为更易于理解的独立函数,使我的代码更具可读性和 self 记录。所以我想从以下构造中分解出来:

function Save() {
myVal = 3.14 // some arbitrary value
$('#myID').each(function(index,element) {
if ($(this).val() === myVal) {}
});
}

进入:

function Save() {
myVal = 3.14 // some arbitrary value
$('#myID').each(myFunction);
}

function myFunction(index,element) {
if ($(this).val() === myVal) {}
}

这里使用 .bind 的问题在于,您在 each 方法中丢失了 $(this) 的值,因此(我不认为)我可以将 myVal 绑定(bind)到 myFunction。

也许我可以使用 element 而不是 this

编辑 1:我应该使用 .myClass 而不是 #myID 作为示例选择器。

编辑 2:我没有在提议的解决方案中使用 bind,因为我认为 bind 行不通。

编辑 3:我感谢大家说第一个示例更具可读性。我只是在探索语言并尝试不同的想法。

最佳答案

然后呢:

function Save() {
myVal = 3.14 // some arbitrary value
$('#myID').each(myFunction(myVal));
}

function myFunction(myVal) {
return function(index, element) {
if ($(this).val() === myVal) {}
}
}

关于javascript - 如何将命名函数与 for each 和 this 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15905978/

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