区分 Node 的原生函数和匿名函数
我正在寻找一种方法来遍历对象并在有匿名函数时执行操作,而在有本机函数时则不执行操作。
最好用一个例子来解释:
User = {
first : String,
last : String,
email : function(email) {
// ....
}
}
User.forEach(function(prop) {
if(! native ) {
// Do something
}
});
直觉反应当然不是,但是 console.log 会输出 String 原生函数的 [Function: String]
和 [Function]
对于匿名函数。
谢谢! 马特
I'm looking for a way to traverse through an object and perform an action if I have an anonymous function and not perform the action if I have a native function.
This is best explained with an example:
User = {
first : String,
last : String,
email : function(email) {
// ....
}
}
User.forEach(function(prop) {
if(! native ) {
// Do something
}
});
Gut reaction is of course not, but console.log will output [Function: String]
for the String native function, and [Function]
for anonymous functions.
Thanks!
Matt
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 toString() 查看函数的文本,然后查找没有名称的函数:
/^function\s*?\(/.test(prop.toString())
You can use
toString()
to look at the text of the function then look for functions without names:/^function\s*?\(/.test(prop.toString())