我正在使用谷歌Chrome控制台。令人沮丧的是,以下代码
var f = function () {};
f.a = 1;
console.log(f);
只会记录
function(){}
为什么不打印f
的属性,例如f.a
和f.prototype
?我该如何打印?
答案 0 :(得分:14)
尝试console.dir
。
console.dir(f);
答案 1 :(得分:3)
console.dir
列出了对象的所有已定义属性。我认为这可能是你正在寻找的。 p>
这在FF(Firebug)中的显示方式
这在Chromium的控制台中的显示方式
我不确定是否有关于此功能的Chrome文档,但console
对象上有there is Firebug documentation。
答案 2 :(得分:0)
因为函数不是对象。
如果你这样做:
var f = function () {};
var my_instance = new f(); // aha!
my_instance.a = 1;
console.log(my_instance);
你应该得到你期望的。
函数可以是一个类,但绝不是一个对象。使用 new
。