函数的两种表现形式
2021-12-22 本文已影响0人
禾苗种树
-
函数声明
function sayHi() { alert( "Hello" ); }
差别就是,JavaScript 引擎会在 什么时候 创建这两种函数。
函数声明在被定义之前,它就可以被调用,这是内部算法的原故。当js准备运行脚本时,首先会在脚本中寻找全局函数声明,并创建这些函数。我们成为“初始化阶段” -
函数表达式
let sayHi = function() { alert( "Hello" ); };
函数表达式是在代码执行到达时被创建,并且仅从那一刻起可用
总结:
函数是值。它们可以在代码的任何地方被分配,复制或声明。
如果函数在主代码流中被声明为单独的语句,则称为“函数声明”。
如果该函数是作为表达式的一部分创建的,则称其“函数表达式”。
在执行代码块之前,内部算法会先处理函数声明。所以函数声明在其被声明的代码块内的任何位置都是可见的。
函数表达式在执行流程到达时创建。
在大多数情况下,当我们需要声明一个函数时,最好使用函数声明,因为函数在被声明之前也是可见的。这使我们在代码组织方面更具灵活性,通常也会使得代码可读性更高。
所以,仅当函数声明不适合对应的任务时,才应使用函数表达式。