【问题标题】:How to list all of javascript functions beginning with _func如何列出以_func开头的所有javascript函数
【发布时间】:2011-09-11 13:49:37
【问题描述】:

是否可以在数组中列出/返回我自己的 .js 文件中以字符串“_func”开头的所有 javascript 函数?

在 WebKit 的 JSCore 中完成。

基本上,如果我的文件有一堆函数,我该如何枚举这些函数?

【问题讨论】:

  • 这些函数是全局函数吗?他们最好不要。 :)
  • 它们可以是全局的,也可以嵌套在其他函数中......或者它们可以是对象的属性。
  • 嗯。在这种情况下,是的,全局的,但用户定义的。

标签: javascript webkit javascriptcore


【解决方案1】:

您可以遍历window 对象的成员并对其进行测试:

var functions = [];

for( var x in window) {
    if(typeof window[x] === "function" && x.indexOf("_func") === 0) {
        functions.push(x);
    }
}

【讨论】:

  • 这在浏览器之外的 Webkit 环境中不起作用,因为定义了“窗口”。
  • @David 在全局代码中,this 关键字引用全局对象,因此您可以将 window 替换为 this...
【解决方案2】:

您可以通过迭代 window 对象的成员来做到这一点:

for (var name in window) {
    if (name.match(/^_func/) && typeof window[name] == 'function') {
        console.log(name);
    }
}

【讨论】:

  • 这在浏览器之外的 Webkit 环境中不起作用,因为定义了“窗口”。
猜你喜欢
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 2016-05-22
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 2015-08-09
  • 1970-01-01
相关资源
最近更新 更多