我可以在Chrome控制台中查看存储在功能上的属性吗?

时间:2013-08-30 21:04:03

标签: javascript

例如,如果我在控制台中执行此操作

var Person = function(firstName, lastName) {
  this.firstName = firstName;
  this.lastName = lastName;
}

Person.species = 'homo sapien';

然后我输入Person,我只看到函数;但如果我输入Person.species,我就会回来'同性恋'。我希望能够在控制台中看到存储在函数中的所有属性。这可能吗?

此外,是否有人知道一个很好的资源来解释这里发生的事情背后的机制?我正在努力使Person成为一个函数和一个对象意味着什么。函数是否存储在Person对象的某个属性上?

1 个答案:

答案 0 :(得分:5)

使用console.dir

console.dir(Person);

  

我正在努力解决Person同时兼顾功能和对象的问题。函数是否存储在Person对象的某个属性上?

没有。每个函数都是JavaScript中的对象。它们只是特殊对象,因为它们是可调用的。就像数组是对象一样,也有一些特殊的内部行为。