使用推入对象数组属性

时间:2018-09-01 12:31:43

标签: javascript html arrays

我编写了一个函数,该函数读取html中的数字列表并将其写入数组中,效果很好:

function initialize(id){

  images = [];

  function PushIn_images(item) {
    images.push(item.innerHTML);}

  document.getElementById("images"+id).childNodes.forEach(PushIn_images);
  console.log(images)}

initialize(105)
<div id="images105"><p>490</p><p>491</p><p>492</p><p>493</p><p>494</p><p>495</p><p>496</p><p>497</p></div>

然后,我想将此函数构造为一个构造函数,该构造函数在其创建的对象属性中写入相同的信息。但是它说该属性是未定义的,尽管我已将其显式声明为数组:

function initialize(id){
    this.id = id
    this.images = new Array();

    function PushIn_images(item) {
      this.images.push(item.innerHTML);}

    document.getElementById("images"+this.id).childNodes.forEach(PushIn_images);
  }

  var img_list = new initialize(105);
  console.log(img_list.images)
<div id="images105"><p>490</p><p>491</p><p>492</p><p>493</p><p>494</p><p>495</p><p>496</p><p>497</p></div>

为什么不起作用?我如何解决它来实现我想要的?

0 个答案:

没有答案