遍历一个函数的属性,可能吗?

时间:2018-07-02 11:38:27

标签: javascript

我想遍历函数的属性,这是我的尝试:

var hen = function a() {
  this.name = "euler henrique";
  this.ID = 55530;
  this.REC = 0302;
  this.nick = "any will do";
}

for (var p in hen) {
  console.log(hen[p]);
}

但这不起作用,即使hena的实例也是如此。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

一种快速的解决方案可能是将元素添加到数组中,作为父对象的属性。例如

tests/controllers/

然后以与任何数组相同的方式遍历此数组。

var hen = function a() {
  this.name = "euler henrique";
  this.ID = 55530;
  this.REC = 0302;
  this.nick = "any will do";

  this.info = [this.name, this.id, this.REC, this.nick];
}

不确定这是您要做什么,请告诉我这是否不是您想要的东西,我很乐意分享其他想法。

答案 1 :(得分:-1)

如果创建对象的实例,则可以执行以下操作:

var Hen = function() {
  this.name = "euler henrique";
  this.ID = 55530;
  this.REC = 0302;
  this.nick = "any will do";
}

var myHen = new Hen();
for (let prop in myHen) {
  if (myHen.hasOwnProperty(prop)) {
    console.log(prop);
  }
}

您可以使用函数构造器创建对象:new YourFunctionName();

来自MDN:“ hasOwnProperty()方法返回一个布尔值,指示对象是否具有指定的属性作为其自身的属性(而不是继承)。”