【发布时间】:2013-05-31 06:39:17
【问题描述】:
我有一些函数,存储在一个集合/数组中,我想在不重新输入的情况下获取键(函数名)。有什么捷径可以访问吗?
var functions_collection = {
"function_x": function() {
var name = "function_x";
// name = this.key; <- how to get the key/function-name "function_x"?
// some more code like:
$(".function_x .button").val();
alert(name);
}
}
编辑:我想避免在函数本身内重新输入“function_x”,而是更喜欢像 this.key 一样调用它。
抱歉,这个奇怪的话题,提前谢谢!
解决方案:很多很好的答案,但我只是在寻找这个剪裁:
Object.keys(this)
【问题讨论】:
-
你能给出用例吗,为什么需要这个?
-
@itz2k13 有一些 CSS 类被命名为函数。在函数内部,我需要像 $(".function_x .button").html("123"); 一样使用它们并希望尽可能保持我的代码干净。
-
您可以调用
var name = Object.keys(this)(或使用getOwnPropertyNames)来获取对象中键的列表。除非只有一个,否则不会只给你父键? -
为什么不使用 CSS 类名作为函数的参数?
-
@adeneo 我猜你的答案就是我所需要的。你为什么只发表评论而不是答案?
标签: javascript arrays function