区分节点的本地function和匿名function

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

最好用一个例子来解释:

User = { first : String, last : String, email : function(email) { // .... } } User.forEach(function(prop) { if(! native ) { // Do something } }); 

消化道反应当然不是,但是console.log会输出string原生函数的[Function: String] [Function] ,匿名函数的[Function]

谢谢! 马特

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

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