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
。