Can';t在JavaScript中连接字符串
我正在尝试用javascript制作一个计算器。我下面的代码将点击按钮并将它们作为字符串一起添加。当用户按下sum或equals按钮时,函数应该将字符串作为一个等式进行求值,并记录结果。例如,result==“2*10”应该返回20。我的问题是,它不是这样做,而是将其相加,而不是相乘或做任何其他函数,如-或除 这是我的密码:Can';t在JavaScript中连接字符串,javascript,html,string,string-concatenation,Javascript,Html,String,String Concatenation,我正在尝试用javascript制作一个计算器。我下面的代码将点击按钮并将它们作为字符串一起添加。当用户按下sum或equals按钮时,函数应该将字符串作为一个等式进行求值,并记录结果。例如,result==“2*10”应该返回20。我的问题是,它不是这样做,而是将其相加,而不是相乘或做任何其他函数,如-或除 这是我的密码: var result = 0; function calc(digit){ if (digit == "sum"){ console.log(eva
var result = 0;
function calc(digit){
if (digit == "sum"){
console.log(eval(result)) ;
}
else if (digit == "-"){
result + "-";
}
else if (digit == "+"){
result + "+";
}
else if (digit == "*"){
result + "*";
}
else if (digit == "/"){
result + "/";
}
else if (digit == "."){
result + ".";
}
else if (digit == "clear"){
location.reload();
}
else{
result += parseFloat(digit);
}
}
下面是每个功能的按钮点击示例:
<button class="large" type="button" value="divide"onclick=calc("/")>/</button>
/
您需要为此使用赋值运算符
例如,不要使用result+“-”
,而是使用result+=“-”
。你在else街区的想法是对的
无论如何,因为您的代码有多个if/else
条件,所以最好使用switch
语句
function calc(digit){
switch(digit) {
case: "sum":
console.log(eval(result));
break;
case "-":
result += "-";
break;
case "+":
result += "+";
break;
case: "*":
result += "*";
break;
case: "/":
result += "/";
break;
case: ".":
result += ".";
break;
case "clear":
location.reload();
break;
default:
result += parseFloat(digit);
}
}
下面是有关JavaScript中字符串连接的更多信息
您需要为此使用赋值运算符 例如,不要使用
result+“-”
,而是使用result+=“-”
。你在else街区的想法是对的
无论如何,因为您的代码有多个if/else
条件,所以最好使用switch
语句
function calc(digit){
switch(digit) {
case: "sum":
console.log(eval(result));
break;
case "-":
result += "-";
break;
case "+":
result += "+";
break;
case: "*":
result += "*";
break;
case: "/":
result += "/";
break;
case: ".":
result += ".";
break;
case "clear":
location.reload();
break;
default:
result += parseFloat(digit);
}
}
下面是有关JavaScript中字符串连接的更多信息
在if堆栈中,
result+“-”
不起任何作用。要将减号添加到结果的末尾,可以执行以下操作
result = result + "-";
或
目前,
result+“-”
让系统将结果和字符串连接起来,但由于您没有将其存储回result,因此会立即丢失它。在您的if堆栈中,result+“-”
什么都不做。要将减号添加到结果的末尾,可以执行以下操作
result = result + "-";
或
目前,
result+“-”
让系统连接结果和字符串,但由于您没有将其存储回result中,它会立即丢失。哈哈!我真傻!非常感谢。哈哈!我真傻!非常感谢。