我正在尝试获取JavaScript实例或类方法的名称(在客户端/浏览器JS中),同时对AMD模块使用以下OOP样式(用于RequireJS):
define([...], function(...) {
var FooBar = function() {
//Constructor code...
};
FooBar.foo = function() {
//This is a FooBar class method named "foo". How do I get its name from here?
//...
};
FooBar.prototype.bar = function() {
//This is a FooBar instance method named "bar". How do I get its name from here?
//...
};
});
我已经看到各种帖子解释了如何在命名函数的情况下执行它,例如,函数foobar(){...},但不是在分配了匿名函数的情况下,例如,foobar = function(){...}。
后者与此相关,除非可以使用命名函数重写上述内容。
我宁愿不回复一些命名方案约定,例如foobar = function foobar_extra_name(){...},因为这涉及命名函数两次。此外,即使这是可能的,因为点符号,它仍然不可能像FooBar.prototype.bar = function FooBar.prototype.bar(){...}那样做,所以它不会非常有帮助。
对此有何想法?非常感谢任何帮助。
答案 0 :(得分:0)
您确实可以使用命名函数重写代码,如下所示:
var FooBar = function FooBar() {
//Constructor code...
};
FooBar.foo = function foo() {
//This is a FooBar class method named "foo". How do I get its name from here?
//...
};
FooBar.prototype.bar = function bar() {
//This is a FooBar instance method named "bar". How do I get its name from here?
//...
};