跳到主要内容

JavaScript 函数的 name 属性详解

name属性返回函数的名称。

示例

// 函数定义
function greeting() {
console.log("Nice to meet you!");
}

// 返回greeting()函数的名称
console.log(greeting.name);

// 输出: greeting

name语法

name属性的语法是:

func.name;

这里,func是一个函数。

name参数

name属性不接受任何参数。

name返回值

name属性返回创建时指定的函数名称。

注意: 如果函数是匿名创建的,则name属性返回anonymous''

示例1:使用name属性

// 函数定义
function message() {
console.log("Hello World");
}

// 返回message()函数的名称
console.log(message.name);

输出:

message;

在上述程序中,我们定义了一个名为message()的函数。我们使用name属性来找出我们定义的函数的名称。

使用name作为message.name返回函数message()的名称,即message

示例2:匿名函数的name属性

匿名函数是未命名创建的函数。

我们在不使用标识符的情况下声明匿名函数。我们可以使用new Function(..)Function(..)语法创建匿名函数。

在匿名函数中使用name属性会返回anonymous关键字。例如:

// 匿名函数的name属性
console.log(new Function().name);

// 将匿名函数赋值给变量'x'
const result = function () {};

// 在'result'变量中使用name属性
console.log(result.name);

输出

anonymous;
result;

在上述程序中,我们将匿名函数赋值给了名为result的变量。

函数被推断为变量名称。所以,在result中使用name返回变量名称 - "result"。

示例3:在变量中使用name属性

// 函数定义
function func() {}

// 将'func'的值赋给变量'result'
let result = func;

// 在'result'变量中使用name属性
console.log(result.name);

输出

func;

这里,我们将func()的值赋给了名为result的变量。所以result.name返回func()函数的名称,即func

推荐阅读: JavaScript函数Function.length