JavaScript的函数最佳实践
我们应该创建函数来使我们的代码更好。
那么我们应该什么时候创建函数呢?
降低复杂度
降低复杂度是创建函数的最重要原因之一。
我们必须创建它们,以免重复代码并最小化代码大小。
如果我们编写的所有过程都没有函数,那么我们将有很多类似的代码。
例如,如果我们有:
const greet1=`hi joe`;
const greet2=`hi jane`;
然后我们可以制作一个函数来概括一下:
const greet=(name)=> `hi ${name}`;
const greet1=greet('joe');
const greet2=greet('jane');
现在,我们可以在任何地方调用 greet 来创建相似的字符串。
引入一个中间的、易懂的抽象概念
上面的代码也是一个抽象,我们概括了用于返回问候语字符串的代码。
我们可以传递不同的 name 值并返回一个新字符串。
避免重复代码
避免重复代码也是创建函数的一个很好的理由。
同样,从上面的示例中可以看到,我们可以调用 greet 创建更多相同的字符串。
那么我们就不必到处重复 hi 部分了。
隐藏顺序
函数很适合隐藏过程的实现。
例如,我们可以有一个调用其他函数并对它们执行某些操作的函数。
我们可以这样写:
const calcWeight=()=> {
//...
}
const calcHeight=()=> {
//...
}
const calcWidth=()=> {
//...
}
const getAllDimensions=()=> {
const weight=calcWeight();
//...
const height=calcHeight();
//...
const width=calcWidth();
//...
}
我们在上面的代码中调用了多个函数,但是我们程序的其他部分不知道它们的调用顺序。
这减少了公开的实现并减少了耦合。
提高可移植性
函数可以很容易地移动到任何地方,我们可以移动它和其他任何依赖它的东西。
简化复杂的布尔测试
如果我们有很长的布尔表达式,那么我们应该将它们放入自己的函数中。
const isWindowsIE=navigator.userAgent.toLowerCase().includes('windows') &&
navigator.userAgent.toLowerCase().includes('ie');
然后,我们可以通过编写以下代码将整个内容放入一个函数中:
const isWindowsIE=()=> {
const userAgent=navigator.userAgent.toLowerCase()
return userAgent.includes('windows') &&
userAgent.includes('ie');
}
它比长布尔表达式要干净得多。
如果对你有所启发和帮助,可以点个关注、收藏、转发,也可以留言讨论,这是对作者的最大鼓励。

浙公网安备 33010602011771号