鉴于这种方法:你可以将一个匿名方法(函数)动态地变成一个命名方法吗?
var obj = {}, obj.foo = function() {};
是它的创建后,所以它看起来相似,它可以分配方法的名称:
var obj = {}, obj.bar = function bar() {};
foo的方法是匿名的,分配给一个属性。 bar方法被命名并分配给一个属性。
你可以将匿名foo方法动态地变成一个名为foo的方法吗?是否有可以设置或类似的功能对象的属性:
obj.foo.<name> = Object.keys(obj)[0];
请不要使用jquery。此外,这是在节点服务器应用程序中,因此跨浏览器问题将无关紧要。
编辑:对我有效的答案是丹尼尔的链接:How to dynamically set a function/object name in Javascript as it is displayed in Chrome。这种方法也处理函数的参数。
为什么你需要这样的功能? – 2015-04-04 17:30:24
除非您愿意获取函数的字符串值(即JavaScript源代码),修改该函数并从中创建新函数,否则没有办法做到这一点。你想达到什么目的?无论如何,函数外部的'function'表达式中给出的名字在函数外部是不可见的。 – Pointy 2015-04-04 17:30:36
[命名匿名函数]可能的重复(http://stackoverflow.com/questions/3854141/naming-an-anonymous-function) – 2015-04-04 17:32:35