我想从_firstName和_birthDate获得:我试过https://jsfiddle.net/0xLqhufd/
var Person = (function () {
function Person(firstName, birthDate) {
this._firstName = firstName;
this._birthDate = birthDate;
}
return Person;
}());
alert(Object.keys(Person.Prototype));
答案 0 :(得分:3)
在创建新实例之前,您无法获取对象的属性。
Object.keys(new Person)
另外,为了您的理解,您的当前实例的属性不在原型中。此时你的原型将是空的,它继承了对象的核心对象,其中包含toString
等等。而且这些对象是不可枚举的,因此你无法使用Object.keys()
来获取它们。
答案 1 :(得分:2)
这是工厂功能。您需要使用new
创建类的实例。
var Person = (function () {
function Person(firstName, birthDate) {
this._firstName = firstName;
this._birthDate = birthDate;
}
return Person;
}());
var tushar = new Person('Tushar', '15464');
console.log(tushar); // { _firstName: 'Tushar', _birthDate: '15464' }
答案 2 :(得分:1)
您需要创建一个新人:
var newPerson = new Person('Lars', 'Svensson');
console.log(newPerson.firstname);
console.log(newPerson.birthDate);
这将允许您访问它的属性。