符号声明

创建函数绑定的方法稍短。 当在语句开头使用function关键字时,它的工作方式不同。

  1. function square(x) {
  2. return x * x;
  3. }

这是函数声明。 该语句定义了绑定square并将其指向给定的函数。 写起来稍微容易一些,并且在函数之后不需要分号。

这种形式的函数定义有一个微妙之处。

  1. console.log("The future says:", future());
  2. function future() {
  3. return "You'll never have flying cars";
  4. }

前面的代码可以执行,即使在函数定义在使用它的代码下面。 函数声明不是常规的从上到下的控制流的一部分。 在概念上,它们移到了其作用域的顶部,并可被该作用域内的所有代码使用。 这有时是有用的,因为它以一种看似有意义的方式,提供了对代码进行排序的自由,而无需担心在使用之前必须定义所有函数。