区分Node的本机函数和匿名函数

时间:2011-03-06 05:19:05

标签: types node.js anonymous-function mongoose

如果我有匿名函数,我正在寻找一种遍历对象并执行操作的方法,如果我有本机函数则不执行操作。

最好用一个例子来解释:

User = {
   first : String,
   last : String,
   email : function(email) {
     // ....
   }
}

User.forEach(function(prop) {
   if(! native ) {
      // Do something
   }
});

Gut反应当然不是,但是console.log将为String本机函数输出[Function: String],为匿名函数输出[Function]

谢谢! 马特

1 个答案:

答案 0 :(得分:1)

您可以使用toString()查看函数的文本,然后查找没有名称的函数:

/^function\s*?\(/.test(prop.toString())