JavaScript 如何获取对象的所有方法

JavaScript 如何获取对象的所有方法

在本文中,我们将学习如何使用JavaScript获取对象的所有方法。在JavaScript中,我们可以遍历每个对象,并检查其属性值是否为函数来获取对象的所有方法。 HTML文档中包含一些方法,任务是获取对象的所有方法。

解决这个问题有两种方法,下面将进行讨论:

  • 使用typeof运算符和filter()方法
  • 使用typeof运算符和for-in循环

方法1:使用typeof运算符和filter()方法

  • 创建一个以对象为输入的函数。
  • 使用 typeof运算符 ,检查对象的类型是否为函数。
  • 如果对象的类型为函数,则返回该对象。

示例: 以下示例实现了上述方法。

function Obj() {
    this.m1 = function M1() {
        return "From M1";
    }
    this.m2 = function M2() {
        return "From M2";
    }
}
 
function getAllMethods(obj = this) {
    return Object.keys(obj)
        .filter((key) => typeof obj[key] === 'function')
        .map((key) => obj[key]);
}
 
function gfg_Run() {
   console.log(getAllMethods(new Obj()));
}
gfg_Run();
JavaScript

输出

[ [Function: M1], [Function: M2] ]
JavaScript

方法2

  • 创建一个以对象为输入的函数。
  • 使用 typeof运算符 ,检查对象的类型是否为函数。此示例还检查是否发生任何错误,如果发生错误则进行适当处理。
  • 如果对象的类型是函数,则返回它。

示例2: 此示例实现了上述方法。

function Obj() {
    this.m1 = function M1() {
        return "From M1";
    }
    this.m2 = function M2() {
        return "From M2";
    }
}
 
function getAllMethods(obj) {
    let result = [];
    for (let id in obj) {
        try {
            if (typeof (obj[id]) == "function") {
                result.push(id + ": " + obj[id].toString());
            }
        } catch (err) {
            result.push(id + ": Not accessible");
        }
    }
    return result;
}
 
function gfg_Run() {
   console.log(getAllMethods(new Obj()).join("\n"));
}
gfg_Run();
JavaScript

输出

m1: function M1() {
        return "From M1";
    }
m2: function M2() {
        return "From M2";
    }
JavaScript

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册