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

how to get properties and methods of a function?

In JavaScript, functions are first-class objects, because they can have properties and methods just like any other object

Ref: Functions


因此,如何获取函数方法和属性,简单的对象可以在console.log(testObj)中捕获,所有细节将进入浏览器控制台。
原样,如何获取函数object details.


正在尝试获取函数详细信息:

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

console.log(foo);

上面只是returns签名,function foo().

示例:console.log(document);

你的函数没有属性。

要获取自己的可枚举属性,您可以使用 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);
}

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

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

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

console.dir(foo);

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

  1. Let object be item with generic JavaScript object formatting applied.

在支持的浏览器中,%O formatter 将给出相同的结果。

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