Javascript Function.name属性有多有用?

Javascript Function.name属性有多有用?,javascript,Javascript,从javascript开发人员的角度来看,是否实时使用此属性?当您将函数作为参数传递给另一个函数时,可以将其用于调试目的,例如: var fun1=function(){}; 函数fun2(){}; var g=函数(f){ console.log(“调用”+f.name); f(); } if(Math.random()>0.5){ g(fun1); }否则{ g(fun2); }这个问题的答案相当广泛,因为有数百个名为name的属性使用示例。JavaScript详细介绍了它们。下面的例子很

从javascript开发人员的角度来看,是否实时使用此属性?

当您将函数作为参数传递给另一个函数时,可以将其用于调试目的,例如:

var fun1=function(){};
函数fun2(){};
var g=函数(f){
console.log(“调用”+f.name);
f();
}
if(Math.random()>0.5){
g(fun1);
}否则{
g(fun2);

}
这个问题的答案相当广泛,因为有数百个名为
name
的属性使用示例。JavaScript详细介绍了它们。下面的例子很少

更改函数名。

var func1 = function() {}
console.log(func1.name); // func1
function a() {};
var b = new a();
console.log(b.constructor.name); // will output a
对于记录类堆栈,我们可以获得如下示例中的构造函数名称。

var newName = "xyzName";
var f = function () {};
Object.defineProperty(f, 'name', {value: newName});
console.log(f.name); // will output xyzName
如果不是匿名的,则获取函数名。

var func1 = function() {}
console.log(func1.name); // func1
function a() {};
var b = new a();
console.log(b.constructor.name); // will output a

您可以将这个函数名传递给第三个函数,告诉它是setter还是getter,并应用适当的通用算法。你也可以记录函数调用。问题本身也是相当广泛的,基于观点,应该关闭,而不是回答。“不是所有的问题都能或应该在这里得到回答。”@Rob,我同意。。。我回答这个问题是因为它在一个小时内获得了如此多的选票,而被接受的答案并没有提到它有着广泛的用途。