Я хочу, чтобы проверить, является ли данная функция пустой или нет. То есть в теле нет ничего, например:
function foo() {}
function iAmEmpty(a) {
// yep, empty
}
С некоторыми начальными играми, у меня есть что-то, что, я думаю, может быть в порядке, используя toString()
и некоторые регулярные выражения.
function foo(a, b, c) {}
/^function[^{]+\{\s*\}/m.test(foo.toString()); // true
function bar(a, b, c) { var d; }
/^function[^{]+\{\s*\}/m.test(bar.toString()); // false
Мне просто интересно, есть ли лучший подход? Есть ли проблемы с вышесказанным, которые вы видите?