如何获得原型属性列表

时间:2016-02-21 11:31:24

标签: javascript

as Object.getOwnPropertyNames()返回我想知道的属性数组 在javascript中是否有任何函数返回原型数组。

function PersonInfo(){
    this.name=null;
    this.sex=null;
    this.age=null;
}

PersonInfo.prototype.getPersonInfo1=function(){

};

PersonInfo.prototype.getPersonInfo2=function(){

};

var pI=new PersonInfo();
//HERE we can use getOwnPropertyNames(pI) to get array of properties in PersonInfo() that result Array["name","sex","age"]
console.log(Object.getOwnPropertyNames(pI));

同样如何获得

  

数组[" getPersonInfo1"" getPersonInfo2"]

2 个答案:

答案 0 :(得分:2)

您可以像这样使用Object.keys

Object.keys(PersonInfo.prototype)

答案 1 :(得分:1)

在ES6中,您可以使用Object.getPrototypeOf()功能:

console.log(Object.getOwnPropertyNames(Object.getPrototypeOf(pI)));
// Array [ "constructor", "getPersonInfo1", "getPersonInfo2" ]

注意:目前它不适用于所有环境(尤其是旧版浏览器)。您需要检查您的环境是否支持它