对于这个非常奇怪的标题感到抱歉,但这就是我要做的事情:
var f1 = function (param1, param2) {
// Is there a way to get an object that is ‘f1’
// (the current function)?
};
如您所见,我想从匿名函数中访问当前函数。
这可能吗?
答案 0 :(得分:46)
命名。
var f1 = function fOne() {
console.log(fOne); //fOne is reference to this function
}
console.log(fOne); //undefined - this is good, fOne does not pollute global context
答案 1 :(得分:28)
答案 2 :(得分:9)
您可以使用f1
访问它,因为在调用之前,该函数已被分配给变量f1
:
var f1 = function () {
f1(); // Is valid
};
f1(); // The function is called at a later stage
答案 3 :(得分:0)
@amik提及了这一点,但是如果您将函数编写为箭头函数,对我来说似乎更好一些:
const someFunction = () => {
console.log(someFunction); // will log this function reference
return someFunction;
}