Javascript 为什么parseInt()不起作用?

Javascript 为什么parseInt()不起作用?,javascript,Javascript,我正在用JavaScript构建一个计算器,我刚刚完成,但我有一个逻辑错误 我正在尝试将字符串转换为数字,以便进行计算。例如,我想要var value=“10” 我尝试了parseInt(value1)

我正在用JavaScript构建一个计算器,我刚刚完成,但我有一个逻辑错误

我正在尝试将字符串转换为数字,以便进行计算。
例如,我想要
var value=“10”

我尝试了
parseInt(value1)
这是我的尝试(一个更简单的版本):

上述结果为:105
为什么它将字符串连接起来,而不是将它们转换并添加到一起

编辑:……我该如何解决这个问题


编辑:

您必须将parseInt值存储在某个位置并使用它。像

value1 = "10";
value2 = "5";

var parsed1 = parseInt(value1);
var parsed2 = parseInt(value2);

var calculatedAnswer = parsed1 + parsed2;

您必须将parseInt值存储在某个位置并使用它。像

value1 = "10";
value2 = "5";

var parsed1 = parseInt(value1);
var parsed2 = parseInt(value2);

var calculatedAnswer = parsed1 + parsed2;

因为您没有将解析后的值分配给value1和value2,所以parseInt(value1)不会更改。您可以使用以下方法或将parseInt(value1)更改为value1=parseInt(value1),也可以将其更改为值2

您还可以通过在字符串前面添加
+
将字符串更改为数字

value1=“10”;
value2=“5”;
var calculatedAnswer=parseInt(值1)+parseInt(值2);
console.log(calculatedAnswer)

log((+value1)+(+value2))
因为您没有将解析后的值分配给value1和value2,所以parseInt(value1)不会更改。您可以使用以下方法或将parseInt(value1)更改为value1=parseInt(value1),也可以将其更改为值2

您还可以通过在字符串前面添加
+
将字符串更改为数字

value1=“10”;
value2=“5”;
var calculatedAnswer=parseInt(值1)+parseInt(值2);
console.log(calculatedAnswer)
console.log((+value1)+(+value2))
value1=“10”;
value2=“5”;
var calculatedAnswer=parseInt(值1)+parseInt(值2);
警报(计算回答)
value1=“10”;
value2=“5”;
var calculatedAnswer=parseInt(值1)+parseInt(值2);

警报(calculatedAnswer)
您可以将解析后的值分配回变量:

var value1 = "10";
var value2 = "5";

value1 = parseInt(value1);
value2 = parseInt(value2);

var calculatedAnswer = value1 + value2;

您可以将解析后的值分配回变量:

var value1 = "10";
var value2 = "5";

value1 = parseInt(value1);
value2 = parseInt(value2);

var calculatedAnswer = value1 + value2;

parseInt
返回一个新值。它无法修改您的变量。“无法修改您的变量”-?我认为这就是parseInt()的要点,所以它转换/修改数据类型:0只需添加此值1=parseInt(值1);value2=parseInt(value2);
parseInt
的要点是获取一个字符串并返回一个整数,就像在
x-y
中,
-
是一个运算符,它获取两个数字并生成一个数字而不更改输入。这是一个正常的函数。(没有函数可以在JavaScript中更改变量的值–该语言根本没有通过引用传递。)@demonhunter24术语
parse
对输出方法没有任何含义,但为了澄清,JavaScript不像其他语言那样具有引用参数。
parseInt
返回一个新值。它无法修改您的变量。“无法修改您的变量”-?我认为这就是parseInt()的要点,所以它转换/修改数据类型:0只需添加此值1=parseInt(值1);value2=parseInt(value2);
parseInt
的要点是获取一个字符串并返回一个整数,就像在
x-y
中,
-
是一个运算符,它获取两个数字并生成一个数字而不更改输入。这是一个正常的函数。(没有函数可以更改JavaScript中变量的值–该语言根本没有通过引用传递。)@demonhunter24术语
parse
对输出方法没有任何含义,但要澄清的是,JavaScript不像其他语言那样具有引用参数。