gpt4 book ai didi

javascript - 在 Javascript 中添加和减去字符串和数字 - 自动类型转换?

转载 作者:数据小太阳 更新时间:2023-10-29 04:57:41 24 4
gpt4 key购买 nike

让我们看看下面的 Javascript 代码。

<script type="text/javascript" lang="javascript">
function test()
{
alert('2'+8);
alert(8-'2');
}
</script>

在第一个警告框中,它显示了 2 和 8 的连接结果,即 28。然而,在第二个警告框中,它显示了两个数字的减法,即 6。怎么办?

最佳答案

+ 运算符被重载。如果任何操作数是字符串,则执行字符串连接。如果您有两个数字,则执行加法。 - 没有以这种方式重载,所有操作数都转换为数字。

来自规范:

11.6.1 The Addition operator ( + )

(...)
7. If Type(lprim) is String or Type(rprim) is String, then

  • Return the String that is the result of concatenating ToString(lprim) followed by ToString(rprim)

8. Return the result of applying the addition operation to ToNumber(lprim) and ToNumber(rprim).
(...)

11.6.2 The Subtraction Operator ( - )

(...)
5. Let lnum be ToNumber(lval).
6. Let rnum be ToNumber(rval).
7. Return the result of applying the subtraction operation to lnum and rnum.
(...)

关于javascript - 在 Javascript 中添加和减去字符串和数字 - 自动类型转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8116261/

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