解析JavaScript中不同的函数状态
在JavaScript中,我们根据特定操作的需求可以以多种不同的方式创建函数。例如,有时我们需要异步函数或同步函数。在本文中,我们将讨论函数Person(){}、let person = Person()和let person = new Person()之间的区别。
函数声明: 下面的语法是函数的声明。该代码声明了一个函数语句,但在我们不调用它们之前不会执行。这里的Person是函数的名称。JavaScript中的函数是使用这种方法声明的。
函数声明的示例: 在这个示例中,我们将创建一个名为Person的函数,并执行一些任务,如下所示。
JavaScript
功能表达式 : 在这段代码中,使用var关键字定义了一个变量person。我们也可以使用const和let关键字。person变量包含了Person函数的所有值引用。在JavaScript中,每个表达式都会返回一个值。如果函数没有返回值,那么该值可能是undefined,否则该值将是函数的返回类型。如果没有给函数分配名称并且将其包装在解释为表达式的括号中,则该函数可以是一个匿名函数。
函数表达式示例: 此示例展示了一个函数表达式
Javascript
输出:
因为该函数不返回任何值,所以打印出 undefined,而第二个函数返回了名字的值,所以在第二行打印出名字。
函数构造器: 在这段代码中,我们使用 new 关键字创建了一个实例。这里的 person 是 Person 的实例(对象)。函数声明是一个普通函数,除非我们创建函数的实例。函数构造器的主要优点是可以初始化 javascript 函数的成员值。
在实例被创建后,我们可以通过创建一个变量来使用该函数,如下面的示例所示。
示例: 这个示例展示了在Javascript中使用函数构造器。
Javascript
输出: