tit*_*nus 5 javascript node.js
在Node.js中,我试图获取正在执行的当前函数的名称:
function doSomething(req, res) {
console.log('Function name: ' + doSomething.name);
}
Run Code Online (Sandbox Code Playgroud)
这很好用,但我希望(如果可能)在当前上下文中获取名称。这样,如果以后重命名该方法,则无需手动更改。是否有一个通用对象(即类似于“ this”)指向当前正在执行的功能/当前上下文?谢谢。
简短回答:Object.values(this)[0].name
长答案:
let myInstanceArray = Object.values(this)将对象属性枚举为数组
let myInstance = myInstanceArray[0]获取数组中的第一个也是唯一一个项目
let myName = myInstance.name获取项目的名称。
我不想重复 Ian 的“可能重复”建议中的答案,但除了它们之外,还有一个解决方案可能值得一提:
您可以使用命名函数表达式,以获得一个可从函数外部访问的名称和一个可从函数内部访问的名称:
var x = function y() {
console.log(y);
};
console.log(x);
Run Code Online (Sandbox Code Playgroud)
现在,如果您决定为函数指定不同的名称,则可以进行更改x,同时仍然可以使用 来引用该函数y。
| 归档时间: |
|
| 查看次数: |
4106 次 |
| 最近记录: |