Сообщение от Tranquill
|
Уже думал о таком варианте, но тут плохо то, что нет локальности.
То есть функция в одном месте объявляется, а помечается где-то в другом.
Такое трудно поддерживать будет. Может как-то по-другому можно?
|
var obj = {
f1: function() { return 1; },
f2: (function(f) { f[Symbol.for("My Favorite Function")] = true; return f; })(function() { return 2; }),
g1: function() { return 3; },
h1: 'not a function'
};
for (var key in obj) {
if ( obj.hasOwnProperty(key)
&& typeof(obj[key]) == 'function'
&& Symbol.for("My Favorite Function") in obj[key]
) {
console.log('Special function found: %s', obj[key]);
}
}