Уверенный:
function getMethods(obj) {
var result = [];
for (var id in obj) {
try {
if (typeof(obj[id]) == "function") {
result.push(id + ": " + obj[id].toString());
}
} catch (err) {
result.push(id + ": inaccessible");
}
}
return result;
}
Используя его:
alert(getMethods(document).join("\n"));
Вот сообщение на отражение JS . Это должно сделать то, что Вы ищете.
Возьмите глупца в этом code:-
function writeLn(s)
{
//your code to write a line to stdout
WScript.Echo(s)
}
function Base() {}
Base.prototype.methodA = function() {}
Base.prototype.attribA = "hello"
var derived = new Base()
derived.methodB = function() {}
derived.attribB = "world";
function getMethods(obj)
{
var retVal = {}
for (var candidate in obj)
{
if (typeof(obj[candidate]) == "function")
retVal[candidate] = {func: obj[candidate], inherited: !obj.hasOwnProperty(candidate)}
}
return retVal
}
var result = getMethods(derived)
for (var name in result)
{
writeLn(name + " is " + (result[name].inherited ? "" : "not") + " inherited")
}
, функция getMethod возвращает набор методов наряду с тем, является ли метод тем, который был наследован от прототипа.
Примечание, что, если Вы намереваетесь использовать это на объектах, которые предоставляются от контекста, такого как БРАУЗЕР/ОБЪЕКТ DOM тогда, это не будет работать IE.
От здесь :
Пример 1: Этот пример выписывает все свойства объекта "навигатора" плюс их значения:
for (var myprop in navigator){
document.write(myprop+": "+navigator[myprop]+"<br>")
}
Просто замена 'навигатор' с любым объектом Вы интересуетесь, и необходимо быть хорошими для движения.
, Как упомянуто Anthony в разделе комментариев - Это возвращает все атрибуты не только методы как вопрос, для которого задают.
ой! Это будет учить меня пытаться ответить на вопрос на языке, который я не знаю. Однако, я думаю, что код полезен - просто не, что требовалось.
Так как методы в JavaScript являются просто свойствами, которые являются функциями, для.. в цикле перечислит их за исключением - он не перечислит встроенные методы. Насколько я знаю, нет никакого способа перечислить встроенные методы. И Вы не можете объявить свои собственные методы или свойства на объекте, которые не являются счетными этот путь.