Skip to main content

19 函数的类化

函数的动态创建

具名的、静态的函数声明有两个特性:

  • 是它在所有代码运行之前被创建;
  • 它作为语句的执行结果将是“空(Empty)”。

几种动态函数的构造器

Function()是一切函数缺省的构造器(或类)。尽管内建函数并不创建自它,但所有的内建函数也通过简单的映射将它们的原型指向 Function。除非经过特殊的处理,所有 JavaScript 中的函数原型均最终指向 Function(),它是所有函数的祖先类。

JavaScript 中一共只有四种可以动态创建的函数:

  • 一般函数(Function)
  • 生成器函数(GeneratorFunction)
  • 异步生成器函数(AsyncGeneratorFunction)
  • 异步函数(AsyncFunction)

函数的三个组件

函数的三个组件,包括:参数、执行体和结果。

动态函数的创建过程

调用内部过程CreateDynamicFunction()来创建函数对象。但相对于静态声明的函数,动态创建(CreateDynamicFunction)却有自己不同的特点与实现过程。

对象的构造过程