解决[object Object]问题

问题描述 投票:-2回答:1

我正在尝试使用Js eveything中的模块来分离问题,除了我想要显示系统的时间,我也这样做但是当我输出它时,我得到了一个[object Object]字符串,这证明我是对的,我真的得到了正确的系统时间是当我控制台记录了interCtrl.getTheTime我得到了系统的时间,这是一个截图:

enter image description here

这是我的代码,让你更好地理解:

JS:

var controller = (function(interCtrl, UICtrl) {

  //1.get the time
  setInterval(document.querySelector(".Time").innerHTML = interCtrl.getTime(),100);
  // console.log(interCtrl.getTime());
  //2.get the date
  document.querySelector(".subDate").innerHTML = interCtrl.date();

  };


  document.querySelector(".add__btn").addEventListener("click", ctrlAddPlans);

  document.addEventListener("keypress", function(e) {
    if (e.keyCode === 13) {
      ctrlAddPlans();
    }
  });

})(internalController);


var internalController = (function() {

  //some code
  function getTheDate() {
    var newDate;
    var d = new Date();
    var day = d.getDate();
    var year = d.getFullYear();
    var month = d.getMonth() + 1;
    // var x=1;
    if (month.toString().length < 2) {
      month = " 0" + month + " ";
    }
    var date = " %11%/%04%/%2019%";
    newDate = date.replace("%11%", day + " ");
    newDate = newDate.replace("%04%", month);
    newDate = newDate.replace("%2019%", " " + year);
    return newDate;
  }

  function getTheTime() {
    //.get the timeDiv
    // const timeDiv =
    //.get the time (h,m,s)
    var date = new Date();
    var hours = date.getHours();
    if (hours.toString().length < 2) {
      hours = `0${hours}`;
    }
    var mins = date.getMinutes();
    if (mins.toString().length < 2) {
      mins = `0${mins}`;
    }
    var seconds = date.getSeconds();

    return {
      time: hours+ " : "+ mins+" : "+seconds
    };

  }



  return {
    date: function getDate() {
      return getTheDate();
    },
    getTime: function getTime() {
      return getTheTime();
    }
  };


})();

我看到了这个问题,但它没有帮助我what does [object Object] mean?

所以请任何帮助,并提前感谢你

javascript
1个回答
2
投票

getTime函数的输出是一个对象。要使其输出字符串,您可以从中更改其return语句

    return {
      time: hours+ " : "+ mins+" : "+seconds
    };

    return hours + " : " + mins+" : " + seconds;

或者,或者,如果您希望它是一个对象,您将必须访问其time属性以获取该值。喜欢

var timeObj = interCtrl.getTheTime();
var timeString = timeObj.time;
© www.soinside.com 2019 - 2024. All rights reserved.