gpt4 book ai didi

javascript - 嵌套函数与链接方法与 && 函数序列

转载 作者:行者123 更新时间:2023-11-28 06:10:19 26 4
gpt4 key购买 nike

晚上好/早上好(取决于您所在的位置),

我是一名新手“开发者”(JS/Meteor 平台),每天我都会发现关于 JS 的新事物。知道自己水平低,这并不难……

我目前想知道编写 switch(true) 的最佳方法/实践。更准确地说,我有一个 Switch 语句,其中包含大约 20 个 cases

目前,我决定不将一些案例嵌套在一起,我发现它不太容易阅读。所以我的声明看起来像这样:

switch()
case 1
case 2
case 3
case 4
case 5
case 6
...
default

而不是类似:

switch()
case 1
if
elseif
else
//or
case 2
switch()
case 2.1
case 2.2

我的问题是:每个案例都会测试 5 个以上的函数。所以一个case基本上是这样写的:

case ( function1()
&& function2()
&& function3() == null
&& typeof abc[1] === 'undefined'
&& function4() === 'xyz') : //etc...

是否有更好的方法来链接函数?

我目前正在以 jQuery 的方式研究链接方法: function().function2().function3()... 但我不知道它是否存在更好的方法来处理这种情况。

我很高兴收到您的反馈/建议以及您推荐的任何阅读/讲座。我也希望这个问题对于SO来说是“正确的”。

非常感谢。

最佳答案

您应始终努力避免使用小函数来提高可读性。将函数调用分组到新函数中可能是个好主意。越快确定函数的功能就越好。尝试只包含与当前功能相关的内容,例如:

您应该获取有关一个人的大量信息,但这些信息分散到不同的来源,迫使您使用一种用于姓名的函数,一种用于年龄的函数,一种用于鞋码的函数,等等。

而不是像这样写

case 1:
var person = {
name: getName(),
age: getAge(),
showSize: getShowSize()
};

你可以这样写

case 1:
var person = getPerson();

还有 getPerson 函数

function getPerson() {
return {
name: getName(),
age: getAge(),
showSize: getShowSize()
}
}

在您的 20 个案例中,我确信有一些逻辑函数组在多种情况下使用。如果它们有任何逻辑联系,请尝试将它们分组在一起。对于 20 个案例这样大的开关,我会尽量不在每种情况下编写太多代码,因为这可能会导致很难看出该函数的作用。

我希望我能解决您的问题,并至少给您一些您认为有用的建议。

关于javascript - 嵌套函数与链接方法与 && 函数序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36462404/

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