gpt4 book ai didi

javascript - 是否有更简单的方法来执行 if else 语句?

转载 作者:行者123 更新时间:2023-11-29 21:05:48 25 4
gpt4 key购买 nike

学习网络制图已经一个月了。我目前正在练习 jQuery` 和 GeoServer。

有没有办法简化它?我可以在这里使用 switch 吗?

bridge.on('change:visible', function(){
if(bridge.getVisible() == true) {
$('#bridge').show();
} else {
$('#bridge').hide();
}
});

road.on('change:visible', function(){
if(road.getVisible() == true) {
$('#road').show();
} else {
$('#road').hide();
}
});

rail.on('change:visible', function(){
if(rail.getVisible() == true) {
$('#rail').show();
} else {
$('#rail').hide();
}
});

最佳答案

问题不在于需要简化的 if-else 语句,而是 repetition .将重复的代码包装在一个函数中,将差异分解为参数,并调用它三次:

function toggleWithVisibility(source, target) {
source.on('change:visible', function(){
if (source.getVisible() == true) {
target.show();
} else {
target.hide();
}
});
}
toggleWithVisibility(bridge, $('#bridge'));
toggleWithVisibility(road, $('#road'));
toggleWithVisibility(rail, $('#rail'));

您还可以通过省略多余的 == true 并使用 toggle 来简化函数代码有一个论点:

function toggleWithVisibility(source, target) {
source.on('change:visible', function(){
target.toggle(source.getVisible());
});
}

您还没有向我们展示您的三个变量是如何定义的,很有可能您也可以简化这些变量,例如同时选择 sourcetarget 并从循环中调用函数。

关于javascript - 是否有更简单的方法来执行 if else 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44171725/

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