javascript - это - получить значение атрибута js




Есть ли способ распечатать все методы объекта в javascript? (5)

Возьмите gander в этом коде: -

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 возвращает набор методов вместе с тем, является ли метод тем, который был унаследован от прототипа.

Обратите внимание, что если вы собираетесь использовать это на объектах, которые предоставляются из контекста, таких как объект browser / DOM, то он не будет работать IE.

Есть ли способ распечатать все методы объекта в javascript?


Вот сообщение о JS-отражении . Он должен делать то, что вы ищете.


Поскольку методы в JavaScript - это просто свойства, которые являются функциями, цикл for..in перечисляет их с исключением - он не будет перечислять встроенные методы. Насколько я знаю, нет способа перечислить встроенные методы. И вы не можете объявлять свои собственные методы или свойства для объекта, которые не перечислены таким образом.


Отсюда :

Пример 1: В этом примере выписываются все свойства объекта «навигатор», а также их значения:

for (var myprop in navigator){
 document.write(myprop+": "+navigator[myprop]+"<br>")
}

Просто замените «навигатор» на любой объект, который вас интересует, и вам должно быть хорошо идти.

Как упоминалось Энтони в разделе комментариев - это возвращает все атрибуты, а не только методы в качестве заданного вопроса.

К сожалению! Это научит меня пытаться ответить на вопрос на языке, который я не знаю. Тем не менее, я думаю, что код полезен - просто не то, что требовалось.


Если вы просто хотите посмотреть, что находится внутри объекта, вы можете распечатать все ключи объекта. Некоторые из них могут быть переменными, некоторые - методами.

Метод не очень точен, однако он очень быстрый:

console.log(Object.keys(obj));




javascript