Javascript 返回字符串的数字函数
我正在制作一个程序,使用用户的出生日期来计算当前年龄,但即使使用Number(),变量的typeof()也不会改变并保持字符串。我只是不知道错误在哪里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 ;
<!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。@斜视你标记的重复项,我找不到原始问题。请提及链接,先生。链接现在位于您问题的顶部。我做到了,仍然不起作用。我做到了,仍然不起作用