我想获得name of an anonymous function。
典型答案是
var aName = function a(){};
这给出了这个
aName.name === "a" // true
但我发现这也有效:
var a = function a(){};
这给出了这个
a.name === "a" // true
typeof a === "function" // true
然而,我觉得我在那里遇到麻烦,因为我正在覆盖名字。使用这种语法会有什么影响吗?
答案 0 :(得分:3)
这两种方法几乎完全相同,唯一的区别在于,在第二种方法中,您将a
视为带有a
的变量标识符作为函数标识符(当a
在内部使用时a
函数。)
答案 1 :(得分:2)
你没有覆盖任何东西。
可以设置.name
属性的唯一方法是使用名称声明函数。
function nameHere() {
}
如果该函数已命名,则name属性将使用该名称。
如果该功能未命名,则为匿名。
var nameHere = function() {
};
没有(正确的)方法来获取分配匿名函数的变量的名称。