0

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

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

Person.species = 'homo sapien';

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

另外,有没有人知道一个很好的资源来解释这里发生的事情背后的机制?我正在为Person既是函数又是对象的意义而苦苦挣扎。函数是否存储在Person对象的某些属性上?

4

1 回答 1

5

使用console.dir

console.dir(Person);

我正在为Person既是函数又是对象的意义而苦苦挣扎。函数是否存储在Person对象的某些属性上?

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

于 2013-08-30T21:10:49.067 回答