Javascript 为什么我应该使用嵌套函数而不是在主函数中编写整个代码?

Javascript 为什么我应该使用嵌套函数而不是在主函数中编写整个代码?,javascript,Javascript,制作嵌套函数难道不会使它比必须的更复杂吗?为什么不在主函数中编写代码并跳过嵌套函数?嵌套函数允许按顺序错开功能。您可以将功能抽象为单独的函数,然后从程序中的任何位置调用它们。其思想是,在函数中包装功能可以防止它们相互干扰,从而导致不正确的数据输出。将代码分解为小函数可以提高可读性和易于理解,主要是如果为每个小函数指定一个反映函数功能的名称。这些函数也可能是可重用的,因此您可以减少代码重复。主要原因是可重用性和抽象性。发件人: 函数是一组可重用代码,可以在任何位置调用 你的节目。这样就不需要再次编

制作嵌套函数难道不会使它比必须的更复杂吗?为什么不在主函数中编写代码并跳过嵌套函数?

嵌套函数允许按顺序错开功能。您可以将功能抽象为单独的函数,然后从程序中的任何位置调用它们。其思想是,在函数中包装功能可以防止它们相互干扰,从而导致不正确的数据输出。

将代码分解为小函数可以提高可读性和易于理解,主要是如果为每个小函数指定一个反映函数功能的名称。这些函数也可能是可重用的,因此您可以减少代码重复。

主要原因是可重用性和抽象性。发件人:

函数是一组可重用代码,可以在任何位置调用 你的节目。这样就不需要再次编写相同的代码 一次又一次。它帮助程序员编写模块化代码

您一定见过alert()和write()之类的函数。我们正在使用 这些函数一次又一次地出现,但它们都是用内核编写的 JavaScript只有一次


如果您使用的是其他人的代码,则不必知道他们的全部功能代码。您只需要知道如何使用它:它的参数、返回类型等等。

嵌套函数非常模糊

如果您与函数中的函数相关,那么这很可能是您所指的闭包

闭包是函数和词汇环境的组合 其中声明了该函数。

但是,如果您指的是单独的函数,例如:

function firstFunction(){

}

function secondFunction(){

}
那么你所说的是错误的,使用多个较小的函数比使用一个较大的函数更容易。拥有多个较小的函数可以提供很好的代码模块化,这有助于重用代码,从而减少重复代码的行数。它也更易于维护(升级、重写、更改)、复制和粘贴(例如,粘贴到另一个项目)。在处理代码时,调试一个较小的函数比调试一个包含1000行代码的函数要容易得多,同样,如果您在一个开发环境中工作,其中有多个开发人员处理代码,他们不会花15分钟阅读一个包含数百行代码的函数,那么破坏它就容易得多

制作嵌套函数难道不会使它变得比必须的更复杂吗

如果您使用IDE并尝试以一种好的方式命名函数,它们就不会

通过参考Martin Fowler的“重构”,您应该将完成整个过程一部分的代码段提取到较小的函数中,以使主函数更具可读性

此外,将代码拆分为更小的函数使它们更易于测试,因此您可以轻松地测试代码的每个部分。
如果您以面向对象的方式进行开发,它可以帮助其他人重写代码的一部分,这有助于您创建更多可重用的组件并减少紧密耦合。

为什么您认为通过将代码抽象为函数来模块化会使代码更复杂?(不管它们是否嵌套)。首先,你知道为什么在代码中首先使用函数吗?嵌套函数在特定的上下文中非常有用。如果没有代码示例,很难定义上下文,并且会做出很多(错误的)假设。提供一些代码,以便我们可以在前面的章节中为您提供更多有用的答案。关于什么?@Bergi,感谢您指出这一点。修正了:)使用函数不需要IDE。这意味着使用带有静态分析的IDE可以帮助在代码中导航,而无需搜索整个项目。如果能够提取方法并使代码更具可读性,我们将非常感激。