如何获取函数的属性和方法?

时间:2017-05-22 16:51:50

标签: javascript function javascript-objects console.log

  

在JavaScript中,函数是第一类对象,因为它们可以像任何其他对象一样具有属性和方法

  参考:Functions


因此,如何获取函数方法和属性,就像console.log(testObj)中可以捕获的简单对象一样,所有细节都会进入浏览器控制台。
实际上,如何获得对象详细信息功能。


尝试获取功能详情:

function foo() {
    var a = 2;
    return a;
};

console.log(foo);

以上只返回签名function foo()

示例:console.log(document);

3 个答案:

答案 0 :(得分:2)

您的功能没有属性。

要获取自己的可枚举属性,可以使用Object.keys

function foo() {
    var a = 2;
    return a;
};
foo.bar = function (x) { console.log(x); };
foo.baz = 42;

console.log(Object.keys(foo));
console.log(foo.toString());

对于document的所有属性,您可以使用for ... in语句。

var k;
for (k in document) {
    console.log(k);
}

答案 1 :(得分:1)

使用console.dir()代替console.log()

console.dir(foo);

指示控制台显示参数as a generic object,确保其列出其属性及其值,通常作为可扩展树视图。

  
      
  1. 将对象设为已应用generic JavaScript object formatting的项目。
  2.   

在支持浏览器时,%O formatter会得到相同的结果。

console.log('%O', foo);

答案 2 :(得分:0)

将函数视为变量。 Javascript在被调用时为您提供声明的整体。要获取变量,需要更改函数中声明的变量。 例如:

var a = 2;
function foo(){
    a = 4;
}
console.log(a); //would give you the desired result.