= 13-6ren">
gpt4 book ai didi

javascript - 为什么在 javascript 中的数学运算后不添加 '+ ""' 会使新变量长度的计数未定义?

转载 作者:行者123 更新时间:2023-11-29 16:27:19 24 4
gpt4 key购买 nike

我正在计算小时数,如果超过 12 小时,则将其减去 12(这样下午 1 点就不会显示为下午 13 点)。下面是我的 JavaScript 代码的一部分。

else if (hours[0] >= 13) {
hours[0] = hours[0] - 12 + "";
}

在代码的后面,当我尝试计算数组变量“hours[0]”的长度时,如果我有以下代码,则显示为未知:

else if (hours[0] >= 13) {
hours[0] = hours[0] - 12;
}

我不明白为什么。有人可以帮我吗?

最佳答案

无论 hours[0] 包含数字还是包含数字的字符串,减法 hours[0] - 12 都会返回一个数字,例如“13”。添加 + "" 将减法结果转换为字符串。 javascript 中的数字没有长度,因此调用数字的 length 成员将返回 undefined。

关于javascript - 为什么在 javascript 中的数学运算后不添加 '+ ""' 会使新变量长度的计数未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4655244/

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