JavaScript,添加我在 parseInt 上一起使用的 2 个变量输出像一个字符串

JavaScript, Adding 2 variables which i have used parseInt on together outputs like a string

大家好,我对 parseInt 变量的行为类似于字符串有疑问。 很可能我做错了一些愚蠢的事情。 问题在代码的注释区域

function getNewDate()
{
  var dateEntered = document.getElementById('Temp').value;    //input got from a form
  var daysEntered = document.getElementById('Temp1').value ;  //input got from a form 

  var month = dateEntered.charAt(5)+dateEntered.charAt(6);                                            //creating month 
  var date = dateEntered.charAt(8)+dateEntered.charAt(9);                                             //date
  var year = dateEntered.charAt(0)+dateEntered.charAt(1)+dateEntered.charAt(2)+dateEntered.charAt(3); //and year from input
  var newDate = 0 ;
  parseInt(month) ;           //making the below variables integers for calculations
  parseInt(daysEntered) ;
  parseInt(date) ;
  parseInt(newDate) ;
  var newFullDate = "" ;

  if(month == 01)
  {
    newDate = date + daysEntered ;  //if i enter 01/01/2016 as the date
    if(newDate > 31)                //and 5 for days entered
    {                               //when i piece together the newFullDate
      month = 02 ;                  //it outputs like 2016-01-015
      date = 0 ;
      daysEntered = newDate - 31 ;
    }
    else
    {
      newFullDate = ""+year +"-"+"01"+"-"+newDate ;
      document.getElementsByName('output')[0].value= newFullDate;
    }
  }

您必须将 parseInt 中的值分配给变量。

month = parseInt(month) ;
daysEntered = parseInt(daysEntered) ;
date = parseInt(date) ;
newDate = parseInt(newDate) ;

parseInt() 不直接影响变量的值。它只是 returns 结果,因此您需要将其再次保存到变量中。

示例:

var month = dateEntered.charAt(5)+dateEntered.charAt(6); 
month = parseInt(month);

或者您也可以在同一行同时执行这两项操作:

var month = parseInt(dateEntered.charAt(5)+dateEntered.charAt(6));