gpt4 book ai didi

javascript - 有没有一种不太 hacky(但同样简短)的方法来在 Javascript 中完成这种类似开关的行为?

转载 作者:行者123 更新时间:2023-11-28 18:34:30 32 4
gpt4 key购买 nike

我使用此方法来查找单击了哪个选项卡,并使用其 id 生成相应的元素。每个选项卡都有相应的函数来“制作”该选项卡的内容。

    <li class="nav-item">
<a class="nav-link tabLeft" data-view="map">Map</a>
</li>

$('.tabLeft').each(function () {
$(this).on('click', function (event) {
event.preventDefault();
changeView($(this).data('view'));
});
});

function changeView(type) {
window['make' + type]();
}

function makemap() {//do stuff}

我不知道是否有任何压缩器足够聪明,可以在不破坏此的情况下重命名 id 和相应的函数。有没有更好的方法来完成此任务,而不需要手动编码开关?

最佳答案

将函数放在显式映射中(而不是依赖“窗口”对象用来保存全局变量/函数的映射)。

var makeFunctions = {
'Foo': makeFoo,
'Bar': makeBar
};
makeFunctions[id()]();

关于javascript - 有没有一种不太 hacky(但同样简短)的方法来在 Javascript 中完成这种类似开关的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37375252/

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