JavaScript,添加了2个变量,我在输出中使用了parseInt,就像字符串一样

JavaScript,添加了2个变量,我在输出中使用了parseInt,就像字符串一样,javascript,html,string,date,parseint,Javascript,Html,String,Date,Parseint,嗨,伙计们,我对parseInt变量的行为像字符串一样有问题。 很可能是我做错了什么傻事。 问题出在代码的注释区域 function getNewDate() { var dateEntered = document.getElementById('Temp').value; //input got from a form var daysEntered = document.getElementById('Temp1').value ; //input got from a f

嗨,伙计们,我对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()
不会直接影响变量的值。它只返回结果,因此需要再次将其保存到变量中

例如:

var month = dateEntered.charAt(5)+dateEntered.charAt(6); 
month = parseInt(month);
或者您可以在同一行上同时执行这两项操作:

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

您需要将
parseInt(month)
etc赋值给变量,如
var month=parseInt(dateEntered.charAt(5)+dateEntered.charAt(6))
parseInt(月)
行上放置断点。执行后,检查
的值,您将看到它没有更改。这会给你一个很好的线索。