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