Javascript 返回字符串的数字函数

Javascript 返回字符串的数字函数,javascript,function,Javascript,Function,我正在制作一个程序,使用用户的出生日期来计算当前年龄,但即使使用Number(),变量的typeof()也不会改变并保持字符串。我只是不知道错误在哪里 <!DOCTYPE html> <html> <body> <script> function myfunction() { var name=prompt("enter your name"); document.getElementById('name').innerHTML=name ;

我正在制作一个程序,使用用户的出生日期来计算当前年龄,但即使使用Number(),变量的typeof()也不会改变并保持字符串。我只是不知道错误在哪里

<!DOCTYPE html>
<html>
<body>

<script>

function myfunction()
{
var name=prompt("enter your name");
 document.getElementById('name').innerHTML=name ;
  var year=prompt("enter your birth year");
  year=Number(year);

   document.getElementById('year').innerHTML=year;

  var month=prompt("enter your birth month(month number)");
  if(month>12)
  {
  alert("not possible,try again");
 month=prompt("enter your birth month(month number)");
month=Number(month);
  document.getElementById('month').innerHTML=month;
  }
  else
  {
  document.getElementById('month').innerHTML=month;
  var day=prompt("enter your birth day (DAY NO.)");
   }
  if(month==2&&day>28)
  {
  alert("you're drunk,come later");
  day=prompt("enter your birth day no.(ONLY THE DAY)");
  day=Number(day)
  document.getElementById('day').innerHTML=day;
 }
   if(day>31)
 {
alert("wrong day");
day=prompt("enter your birth day no.(ONLY THE DAY)");
day=Number(day);
document.getElementById('day').innerHTML=day;
 }
else
  document.getElementById('day').innerHTML=day;

 myage(year,month,day);
}
function myage(year,month,day)
{
  var date= new Date;
  var y,m,d,Y,M,D;
  y=date.getYear;
  m=date.getMonth;
  d=date.getDay;
  Y=y-year;
  M=m-month;
  D=d-day;
  document.getElementById('age').innerHTML=Y+"<br>"+M+"<br>"+D;

}



</script>

 <p id="name"><h1>NAME:</h1></p>
   <p id="year"><h1>YEAR</h1></p>
   <p id="month"><h1>MONTH:</h1></p>
   <p id="day"><h1>DAY:</h1></p>
    <p id="age"><h2>your age is=</h2></p>
   <button onclick="myfunction()">click to login</button>

  </body>
</html>

函数myfunction()
{
var name=提示(“输入您的姓名”);
document.getElementById('name')。innerHTML=name;
变量年份=提示(“输入您的出生年份”);
年份=数量(年);
document.getElementById('year')。innerHTML=year;
var month=提示(“输入您的出生月份(月号)”;
如果(月份>12)
{
警报(“不可能,请重试”);
月份=提示(“输入您的出生月份(月号)”;
月=数量(月);
document.getElementById('month')。innerHTML=month;
}
其他的
{
document.getElementById('month')。innerHTML=month;
var day=提示(“输入您的出生日期(日期号”);
}
如果(月==2日和日>28日)
{
警惕(“你喝醉了,晚点再来”);
day=提示(“输入您的出生日期编号(仅限日期)”;
天=数量(天)
document.getElementById('day')。innerHTML=day;
}
如果(第31天)
{
警报(“错误日期”);
day=提示(“输入您的出生日期编号(仅限日期)”;
天=数量(天);
document.getElementById('day')。innerHTML=day;
}
其他的
document.getElementById('day')。innerHTML=day;
我的年龄(年、月、日);
}
函数myage(年、月、日)
{
var日期=新日期;
变量y,m,d,y,m,d;
y=日期。getYear;
m=date.getMonth;
d=date.getDay;
Y=Y年;
M=M个月;
D=D天;
document.getElementById('age')。innerHTML=Y+“
”+M+“
”+D; }

名称:

月份:

天:

您的年龄是=

单击以登录
您没有将值赋回原始变量

month = Number(month);

基本上,
Number
函数将返回类型为
Number
的值。您必须在变量中接收该值才能使用该值。

您没有将该值赋回原始变量

month = Number(month);

基本上,
Number
函数将返回类型为
Number
的值。您必须在变量中接收它才能使用它。

您忽略了
Number
的返回值
year=Number(year)
这是我用来查找重复的问题/答案的答案,以备将来参考。我按照你的要求做了,但仍然返回NaN。@斜视你标记的重复项,我找不到原始问题。请提及该链接,先生。该链接现在位于您问题的顶部。您忽略了
Number
的返回值
year=Number(year)
这是我用来查找重复的问题/答案的答案,以备将来参考。我按照你的要求做了,但仍然返回NaN。@斜视你标记的重复项,我找不到原始问题。请提及链接,先生。链接现在位于您问题的顶部。我做到了,仍然不起作用。我做到了,仍然不起作用