gpt4 book ai didi

javascript - 获取分配给变量函数的名称

转载 作者:数据小太阳 更新时间:2023-10-29 06:06:48 26 4
gpt4 key购买 nike

我正在尝试返回函数分配给的变量的名称。

我在下面包含了一个示例。最终结果是我希望 modelPerson.title() 返回变量名 title

例如我有以下代码:

定义一些基本模型类型

var types = {
string: function() {
return function() {
return "I want this to return 'title'";
}
}
};

使用模型类型

var modelPerson = {
title: types.string(),
firstName: types.string(),
surname: types.string(),
position: types.string()
};

正在尝试返回标题

console.log(modelPerson.title());

抱歉,如果这有点不清楚。如果有帮助,我已经包含了一个 JSFiddle: http://jsfiddle.net/4f6VE/

感谢您提供的任何帮助

最佳答案

这实际上是可能的,但涉及一些特定于 v8 的内容:

var types = {
string: function() {
return function() {
var obj = {};
var prepare = Error.prepareStackTrace;
Error.prepareStackTrace = function (_, stack) {
return stack
}

Error.captureStackTrace(obj)

var method = obj.stack[0].getMethodName();

Error.prepareStackTrace = prepare;

return method;
}
}
};

var modelPerson = {
title: types.string(),
firstName: types.string(),
surname: types.string(),
position: types.string()
};

console.log(modelPerson.title());
console.log(modelPerson.firstName());

但你可能应该使用一些不那么疯狂的东西

关于javascript - 获取分配给变量函数的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21665582/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com