如何在匿名函数构造中获取变量名 var f = function(){};.



所以我有一个像下面这样的结构(这是虚拟代码)。 在分配给某个函数变量的函数内部,我想获取分配给该函数的变量的实际名称。

返回的预期结果将是字符串"someFunction"。

感谢您的专业知识!

我已经试过了;还没有其他线索。

var someFunction = (function(){
"use strict"; 
var f = this.FunctionName; //dummy code
return f;
}

期望将"someFunction"字符串作为返回

var onLoad_123123= (function(GlideAjax,g_form,GlideDialogWindow,GlideRecord,window,document,$,jQuery,$$,$j,$F,gel,undefined){
"use strict"; 
function onLoad_123123() {
retun 'onLoad_123123'; //dummy code here - have to get it dynamically
}

希望能更好地解释它

">

动态"获取和返回函数名称的唯一方法 是访问 从函数内部arguments.callee.name

这在严格模式下不可用。如果声明函数 严格,当您尝试访问时,您的解释器会抛出错误 该属性。

据我所知,"使用严格"在服务现在没有启用。所以试试这个:

console.log("internal id: " + arguments.callee.name);
console.log("internal sysId: " + g_event_handler_ids[arguments.callee.name]);

g_event_handler_ids保存目录项的所有脚本。

最新更新