制作一个简单的javascript计算器,无法一起添加两个属性

时间:2014-08-16 07:51:46

标签: javascript

我是一名初学javascript程序员,我只是在记事本++中乱砍,以便更熟悉方法/属性。我设法让用户能够输入操作,并且两个数字要相乘,分割,添加或减去。一切都适用于所有东西但是当我尝试添加两个用户输入的值时,它不会输出两个加在一起的值,但它会输出两个连接在一起的字符串。这是add方法的代码片段:

if(this.operation == "add"){
this.num1 = prompt("enter first num");
this.num2 = prompt("enter second num");
alert( this.num1 + this.num2 );
};

程序打开时询问“你想使用哪种操作?”;

|加 “输入第一个数字” | 10 “输入第二个数字” | 12 回答: “1012”

它将两个属性的字符串版本连接在一起,而实际上我只是想使用加号作为数学运算符。

我寻找答案“22”而不是“1012”,因为我只想在毕竟添加两个数字。

我确信答案非常简单,但这是我的第一个问题,我希望与社区进行更多的互动。对不起,如果这是一个愚蠢的问题,并提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

这是因为提示返回一个字符串,你必须将其转换为数字。

alert((+this.num1) + (+this.num2));

+之前的this.num1符号this.num2将其转换为数字。

答案 1 :(得分:0)

试试这个旧学校的解决方案。

alert( parseInt(this.num1,10) + parseInt(this.num2,10));

您需要将字符串转换为int。

这里10里面的parseInt()是获取小数形式