测试小站: 处理网 回收帮 培训网 富贵论坛 老富贵论坛

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');

  }

  它比长布尔表达式要干净得多。

  如果对你有所启发和帮助,可以点个关注、收藏、转发,也可以留言讨论,这是对作者的最大鼓励。

posted @ 2022-01-03 14:31  linjingyg  阅读(54)  评论(0)    收藏  举报