Javascript计算器返回字符串而不是值

时间:2013-11-01 17:53:44

标签: javascript

我是javascript的初学者,我正在尝试制作一个简单的计算器。我遇到的问题是计算器返回实际的等式(作为字符串)而不是结果值。 Here is a jsFIDDLE document

$(document).ready(function () {
var score = "";

$("#nOne").click(function () {
    score += 1;
});
$("#nTwo").click(function () {
    score += 2;
});

$("#add").click(function () {
    score += "+";
});

$("#nEqual").click(function () {
    alert(score);
});

});

是否优先使用< input type="button">< div>作为按钮,或者它们在制作简单的计算器时完全相同?

1 个答案:

答案 0 :(得分:2)

您可以使用eval()JavaScript函数。

在该示例中,按钮不是添加值,而是连接字符串值。按#nOne,#add,#nTwo后,得分为“1 + 2”(字符串),而不是3(数字)。 eval()执行表达式(字符串)将其“转换”为代码。 w3schools.com/jsref/jsref_eval.asp

$("#nEqual").click(function () {
    alert(eval(score));
});

虽然这会是丑陋的代码!