我是一名了解javascript的新生。我目前很难理解一个关于在我的计算器端项目中存储变量的简单概念。我的问题是当单击运算符(+, - ,/,*)时,我想将第一个值存储为变量(第一个用户输入)。然后在用户再次点击数字后,显示屏将清除并显示第二个变量(或第二个用户输入)。然后,如果按下操作员按钮或等于按钮,它将计算两个变量(所以var + var2)。我已经为variable1使用了一个全局变量,但在清除项目后,我无法使用用户输入分配第二个变量。我觉得这个问题有一个简单的答案,但我想知道我从根本上做错了什么,所以我可以开始回顾我需要再做的所有主题。无论如何,任何帮助都会很棒!谢谢
'http://codepen.io/kevk87/pen/EVoEaa`
答案 0 :(得分:1)
您忘记了#
行上的$("screen").html("");
选择器,jQuery不会选择正确的元素。你还没有实现相等的运算符。
$(".operator").on("click",function() {
number = $("#screen").html();
$("screen").html("");
number2 = $("#screen").html();
});
答案 1 :(得分:1)
首先,您的语句中存在语法错误,导致jQuery无法选择正确的元素。我在下面的代码片段中已修复此问题。
其次,您需要实现相等的运算符以将所有这些放在一起。同时,为了解决您的问题并指出正确的方向,您并没有真正捕获第二个元素。每次用户点击操作员时,您都会将屏幕上的值重新分配给' number'变量,然后清除屏幕并指定屏幕上的值(这是清楚的,因为你刚刚清除它)到#2; number2'。
解决此问题的一种方法是检查'号码'变量有一个值,如果是,那么你将下一个值分配给' number2'变量。这是执行此操作的代码片段。
$(".operator").on("click",function() {
if (number == null) {
number = $("#screen").html();
}
else {
number2 = $("#screen").html();
$("#screen").html("");
}
});