如何获取Javascript对象原型的属性

How to get properties of Javascript object prototype?

本文关键字:对象 原型 属性 Javascript 何获取 获取      更新时间:2024-01-03

我想从中获取_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));

在创建新实例之前,无法获取对象的属性。

Object.keys(new Person)

另外,为了便于理解,您的当前实例具有不在原型中的属性。此时,您的原型将为空,并且它继承了Object的核心对象,该对象包含toString等。这些对象是不可枚举的,因此您无法使用Object.keys()获取这些对象。

演示

这是工厂函数。您需要使用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' }

您需要创建一个新人:

var newPerson = new Person('Lars', 'Svensson');
console.log(newPerson.firstname);
console.log(newPerson.birthDate);

这将允许您访问它的属性。