gpt4 book ai didi

javascript - 我的 javascript 函数出现函数未定义错误

转载 作者:行者123 更新时间:2023-12-02 16:26:29 25 4
gpt4 key购买 nike

我正在尝试根据 8 位输入来计算一个人的年龄。当我尝试运行代码时,它显示 TypeError undefined is not a function..

var calcAge = function (dob) {

var age,

mm = dob.substring(0, 2),
dd = dob.substring(2, 4),
yyyy = dob.substring(4, 8),
d = new Date(),
currentDay = d.getDay,
currentMonth = (d.getMonth() + 1) < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1,
currentYear = d.getFullYear;


if (parseInt("" + mm + dd) >= parseInt("" + currentMonth + currentDay)) {
age = currentYear - yyyy;
} else {
age = (currentYear - yyyy) - 1;
};

return age;
};

最佳答案

d.getDay() 和 d.getFullYear() 是函数而不是字符串值,您使用的是返回星期几的 getDay() 而不是 getDate(),并且您的最终测试有点偏差。

var calcAge = function (dob) {
var age,
mm = dob.substring(0, 2),
dd = dob.substring(2, 4),
yyyy = dob.substring(4, 8),
d = new Date(),
currentDay = d.getDate(),
currentMonth = (d.getMonth() + 1) < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1,
currentYear = d.getFullYear();
if (parseInt("" + mm + dd) <= parseInt("" + currentMonth + currentDay)) {
age = currentYear - yyyy;
} else {
age = (currentYear - yyyy) - 1;
};
return age || false;
};

使用这些测试现在看来是正确的 calcAge('02191964');//返回51 calcAge('02201964');//51 calcAge('02211964');//50

关于javascript - 我的 javascript 函数出现函数未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28642258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com