gpt4 book ai didi

javascript - javascript 中的 num++

转载 作者:行者123 更新时间:2023-12-04 01:50:12 26 4
gpt4 key购买 nike

var num = "1";
num = num+1; //Gives "11"

但是

 var num = "1";
num++; //Gives 2.

为什么?

最佳答案

因为 + 运算符也用于字符串连接。

var num = "1";
// The 1 is converted to a string then concatenated with "1" to make "11".
num = num+1;

Javascript 是一种弱类型语言,因此它对类型转换更为宽松。

在您的案例中使用的 ++ 运算符是后缀递增运算符,它仅对数字进行运算,因此它的行为符合您的预期:

var num = "1";
// num is converted to a number then incremented.
num++;

要提示应该进行加法,请减去零:

var num = "1";
// Subtraction operates only on numbers, so it forces num to be converted to an
// actual number so we can properly add 1 to it
num = (num - 0) + 1;

或者使用一元运算符+:

var num = "1";
// The unary + operator also forces num to be converted to an actual number
num = (+num) + 1;

关于javascript - javascript 中的 num++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3656161/

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