解析JavaScript中不同的函数状态

解析JavaScript中不同的函数状态

在JavaScript中,我们根据特定操作的需求可以以多种不同的方式创建函数。例如,有时我们需要异步函数或同步函数。在本文中,我们将讨论函数Person(){}、let person = Person()和let person = new Person()之间的区别。

函数声明: 下面的语法是函数的声明。该代码声明了一个函数语句,但在我们不调用它们之前不会执行。这里的Person是函数的名称。JavaScript中的函数是使用这种方法声明的。

function Person (){}
JavaScript

函数声明的示例: 在这个示例中,我们将创建一个名为Person的函数,并执行一些任务,如下所示。

JavaScript

function Person() {
    name = "Vikash";
    age = "22";
}
JavaScript

功能表达式 : 在这段代码中,使用var关键字定义了一个变量person。我们也可以使用const和let关键字。person变量包含了Person函数的所有值引用。在JavaScript中,每个表达式都会返回一个值。如果函数没有返回值,那么该值可能是undefined,否则该值将是函数的返回类型。如果没有给函数分配名称并且将其包装在解释为表达式的括号中,则该函数可以是一个匿名函数。

let person = Person ()
JavaScript

函数表达式示例: 此示例展示了一个函数表达式

Javascript

// Function declaration
function person() { }
let person = person()
 
// Printing the return value
// of the person() function
console.log(person)
 
function person1(name) {
    return name;
}
 
let person1 = person1("Aayush")
 
// Printing the value of person1
console.log(person1)
JavaScript

输出:

undefined
Aayush
JavaScript

因为该函数不返回任何值,所以打印出 undefined,而第二个函数返回了名字的值,所以在第二行打印出名字。

函数构造器: 在这段代码中,我们使用 new 关键字创建了一个实例。这里的 person 是 Person 的实例(对象)。函数声明是一个普通函数,除非我们创建函数的实例。函数构造器的主要优点是可以初始化 javascript 函数的成员值。

在实例被创建后,我们可以通过创建一个变量来使用该函数,如下面的示例所示。

let person = new Person()
JavaScript

示例: 这个示例展示了在Javascript中使用函数构造器。

Javascript

// Creating the function
function Person(name, age) {
    this.name = name;
    this.age = age;
}
 
// Calling the function 
let person = new Person("Vikah", 22);
 
console.log(person.name);
console.log(person.age);
JavaScript

输出:

Vikah
22
JavaScript

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册