gpt4 book ai didi

javascript - 除加法 (+) 外,所有 JavaScript 算术运算符均有效

转载 作者:行者123 更新时间:2023-11-28 17:28:49 28 4
gpt4 key购买 nike

编辑:有几个线程建议作为答案,但其中任何一个线程的想法都不太有效。我尝试了所有这些。

非常感谢:用户 Eazy 通过他的建议中的进一步评论解决了这个问题。事实证明,正确的方法是将整个 paresInt 数学放在括号中:

List += ""+ list[i].team + ""+ (parseInt(list[i].wins) + parseInt(list[i].ties) + parseInt(list[i].lost)) “”

原问题:

所以我正在编写一个 js 代码来从数据库打印表格。该数据库包含一个足球联赛表,其中包含球队名称、获胜、平局和失利的比赛。当我将表格打印为 HTML 时,我想要进行数学计算来计算所玩的游戏和总积分,因为数据库未提供该信息。

最奇怪的是,如果我乘以表中的 (*) 值,它就会起作用。如果我减去(-)或除(/)数字,它就有效。但是,如果我尝试将数字与 + 相加,则代码会将数字视为字符串,并且只将相邻的数字写入。我以前遇到过这个问题并且很困惑。解决方案可能是一个非常明显的解决方案,但我就是无法弄清楚。

如果一支球队赢了 23 场比赛,平局 7 场,输掉 3 场,那么总共打了 33 场比赛。所以如果我算一下:

List += "<tr><td>" + list[i].team + "</td><td>" + 
list[i].wins + list[i].ties + list[i].lost + "</td></tr>"

返回 2373

如果我使用不同的运算符,例如乘法:

List += "<tr><td>" + list[i].team + "</td><td>" + 
list[i].wins * list[i].ties * list[i].lost + "</td></tr>"

它返回 483 ,计算正确,因此这些项目显然不是字符串。正如我所说,该代码适用于除 + 之外的所有其他运算符。这是为什么?

最佳答案

JavaScript 是极其弱类型的。它假设所有可能是字符串的东西都是字符串,因此它将连接数字,因为加法是为字符串定义的。字符串没有定义乘法、除法和减法,因此编译器会首先检查是否可以进行整数运算。

您可能想使用parseInt()函数以保证数字被正确处理。

关于javascript - 除加法 (+) 外,所有 JavaScript 算术运算符均有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50916822/

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