Есть ли метод или свойство, чтобы получить все методы от объекта?Например:
function foo() {} foo.prototype.a = function() {} foo.prototype.b = function() {} foo.get_methods(); // returns ['a', 'b'];
ОБНОВЛЕНИЕ: Есть ли такой метод в Jquery?
Спасибо.
Получите имена методов:
var getMethodNames = function (obj) { return (Object.getOwnPropertyNames(obj).filter(function (key) { return obj[key] && (typeof obj[key] === "function"); })); };
Или получите методы:
var getMethods = function (obj) { return (Object.getOwnPropertyNames(obj).filter(function (key) { return obj[key] && (typeof obj[key] === "function"); })).map(function (key) { return obj[key]; }); };
В Chrome есть keys(foo.prototype). Возвращает ["a", "b"].
keys(foo.prototype)
["a", "b"]
См .: https://developer.chrome.com/devtools/docs/commandline-api#keysobject
Позднее редактирование: если вам нужно быстро скопировать его (для больших объектов), выполните copy(keys(foo.prototype)), и оно будет у вас в буфере обмена.
copy(keys(foo.prototype))