我正在使用Google Chrome控制台。无奈的是,下面的代码我如何将console.log函数与所有属性一起使用?
var f = function() {};
f.a = 1;
console.log(f);
只记录
功能(){}
为何不打印的f
的属性,如f.a
和f.prototype
?我如何打印它们?
我正在使用Google Chrome控制台。无奈的是,下面的代码我如何将console.log函数与所有属性一起使用?
var f = function() {};
f.a = 1;
console.log(f);
只记录
功能(){}
为何不打印的f
的属性,如f.a
和f.prototype
?我如何打印它们?
尝试console.dir
。
console.dir(f);
因为函数不是一个对象。
如果你这样做:
var f = function() {};
var my_instance = new f(); // aha!
my_instance.a = 1;
console.log(my_instance);
你应该得到你所期望的。
功能可以是一个类,但从来没有一个对象。使用new
。
console.dir
列出了对象的所有定义的属性。我认为这可能是你要找的。
这怎么会出现在FF(萤火虫)
这怎么会出现在Chromium的控制台
我不知道是否有任何Chrome文件在此功能上,但there is Firebug documentation上的console
对象。
错了。函数*是一个对象。 –
JavaScript函数是对象(它们是“第一类”)。将属性赋值给函数没有问题(问题中的'f.a')。这是在JavaScript中模拟静态字段的好方法。在你的例子中,'a'属性只会出现在'my_instance'实例上。 –