Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取函数的属性和方法?_Javascript_Function_Javascript Objects_Console.log - Fatal编程技术网

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

Javascript 如何获取函数的属性和方法?,javascript,function,javascript-objects,console.log,Javascript,Function,Javascript Objects,Console.log,在JavaScript中,函数是一流的对象,因为它们可以像任何其他对象一样具有属性和方法 参考: 因此,如何获取函数方法和属性,因为可以在console.log(testObj)中捕获简单对象,所有详细信息都将进入浏览器控制台。 实际上,如何获取函数对象详细信息 尝试获取函数详细信息: function foo() { var a = 2; return a; }; console.log(foo); 上面只返回签名,function foo() 示例:console.log

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

参考:


因此,如何获取函数方法和属性,因为可以在
console.log(testObj)
中捕获简单对象,所有详细信息都将进入浏览器控制台。
实际上,如何获取函数对象详细信息


尝试获取函数详细信息:

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

console.log(foo);
上面只返回签名,
function foo()


示例:
console.log(文档)

您的函数没有属性

要获得自己的可枚举属性,可以使用

函数foo(){
var a=2;
返回a;
};
foo.bar=函数(x){console.log(x);};
foo.baz=42;
log(Object.keys(foo));

log(foo.toString())您的函数没有属性

要获得自己的可枚举属性,可以使用

函数foo(){
var a=2;
返回a;
};
foo.bar=函数(x){console.log(x);};
foo.baz=42;
log(Object.keys(foo));

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

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

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

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

这指示控制台显示参数,确保它与属性及其值一起列出,通常作为可展开的树视图

  • 将对象设为已应用的项

  • 在支持浏览器方面,将给出相同的结果

    console.log('%O', foo);
    
    使用代替
    console.log()

    这指示控制台显示参数,确保它与属性及其值一起列出,通常作为可展开的树视图

  • 将对象设为已应用的项

  • 在支持浏览器方面,将给出相同的结果

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

    我可能错了,这只是一个猜测,所以我把它放在注释
    for(foo中的var属性){if(foo.hasOwnProperty(property)){}
    是如何迭代对象的属性,如果你想支持IE<9Try
    console.log('%O',foo)。(3.e)应该指示控制台将函数显示为泛型对象。@jonathan lonowski的结果与上面相同,因为您只是在控制台中传递参数。@JonathanLonowski
    FireFox,版本:53
    @forweb FireFox当前似乎无法识别
    %O
    。它确实有
    console.dir(foo),但是,它应该给出等价的输出。我可能错了,这只是一个猜测,所以我把它放在注释
    中,用于(foo中的var属性){if(foo.hasOwnProperty(property)){}
    是如何迭代对象的属性,如果你想支持IE<9Try
    console.log('%O',foo)。(3.e)应该指示控制台将函数显示为泛型对象。@jonathan lonowski的结果与上面相同,因为您只是在控制台中传递参数。@JonathanLonowski
    FireFox,版本:53
    @forweb FireFox当前似乎无法识别
    %O
    。它确实有
    console.dir(foo),它应该提供等效的输出。注意:
    Object.keys()
    是在ES5中定义的,在某些(尽管非常过时)浏览器中可能不可用。资料来源:@Nina Scholz,确实如此,但我正试图在浏览器控制台中获取所有详细信息,如
    console.log(document)
    all方法、属性等。。。去那里。@Nina Scholz我不是说如何一个接一个地获取属性,我只是问
    console.log(document)
    console.log(anyObject)
    ,需要函数对象。注意:
    Object.keys()
    是在ES5中定义的,在某些(尽管非常过时)浏览器中可能不可用。资料来源:@Nina Scholz,确实如此,但我正试图在浏览器控制台中获取所有详细信息,如
    console.log(document)
    all方法、属性等。。。去那里。@Nina Scholz我不是说如何一个接一个地获取属性,我只是问
    console.log(document)
    console.log(anyObject)
    ,需要函数对象。我试过
    console.log(foo.prototype)
    ,请检查并将其添加到您的答案中@如果函数被用作其他对象的构造函数,那么这可能会很有帮助,尽管您的问题并没有暗示这一点。另外,
    prototype
    可以从
    console.dir(foo)浏览。我已经尝试了
    console.log(foo.prototype)
    ,请检查并将其添加到您的答案中@如果函数被用作其他对象的构造函数,那么这可能会很有帮助,尽管您的问题并没有暗示这一点。另外,
    prototype
    可以从
    console.dir(foo)浏览