解释 JavaScript 中不同的函数状态
在javascript中,我们可以根据具体操作的需要,以多种不同的方式创建函数。例如,有时我们需要异步函数或同步函数。在本文中,我们将讨论函数 Person( ) { }、var person = Person ( ) 和 var person = new Person ( ) 之间的区别。
函数声明:下面给出的语法是函数的声明。代码声明了一个函数语句,但在我们不调用它们之前不会执行。这里 Person 是函数的名称。 javascript 中的函数是使用此方法声明的。
function Person (){}
函数声明示例:在此示例中,我们将创建一个名为 Person 的函数并执行如下所示的一些任务。
Javascript
function Person() {
name = "Vikash";
age = "22";
}
Javascript
// Function declaration
function person() { }
var person = person()
// Printing the return value
// of the person() function
console.log(person)
function person1(name) {
return name;
}
var person1=person1("Aayush")
// Printing the value of person1
console.log(person1)
Javascript
// Creating the function
function Person (name, age) {
this.name = name;
this.age = age;
}
// Calling the function
var person = new Person("Vikah", 22);
console.log(person.name);
console.log(person.age);
函数表达式:在此代码中,变量 person 使用 var 关键字定义。我们也可以使用 const 和 let 关键字。 person 变量包含 Person函数的所有值引用。在 javascript 中,每个表达式都会返回一个值。如果函数不返回并且值或值将是函数的返回类型,则该值可能是未定义的。如果未分配名称并用括号括起来解释为表达式,则此函数可能是匿名函数。
var person = Person ()
函数表达式示例:
index.js
Javascript
// Function declaration
function person() { }
var person = person()
// Printing the return value
// of the person() function
console.log(person)
function person1(name) {
return name;
}
var person1=person1("Aayush")
// Printing the value of person1
console.log(person1)
使用以下命令运行index.js文件:
node index.js
输出:
undefined
Aayush
一个未定义的将打印,因为该函数不返回任何值,而第二个函数返回名称值,这就是名称在第二行中打印的原因。
函数构造函数:在这段代码中,我们使用 new 关键字创建一个实例。这里的人是人的实例(对象)。除非我们创建函数的实例,否则函数声明是常规函数。函数构造函数的主要优点是初始化 javascript 函数的成员值。
创建实例后,我们可以通过创建变量来使用该函数,如下例所示。
var person = new Person()
index.js
Javascript
// Creating the function
function Person (name, age) {
this.name = name;
this.age = age;
}
// Calling the function
var person = new Person("Vikah", 22);
console.log(person.name);
console.log(person.age);
使用以下命令运行index.js文件:
node index.js
输出:
Vikah
22