Различают нативные функции Node и анонимные функции - PullRequest
1 голос
/ 06 марта 2011

Я ищу способ пройти через объект и выполнить действие, если у меня есть анонимная функция, и не выполнять действие, если у меня есть встроенная функция.

Это лучше всего объяснить на примере:

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

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

Gut-реакция, конечно, нет, но console.log выдаст [Function: String] для нативной функции String и [Function] для анонимных функций.

Спасибо! Matt

1 Ответ

1 голос
/ 06 марта 2011

Вы можете использовать toString(), чтобы просмотреть текст функции, а затем искать функции без имен:

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

...