Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t在JavaScript中连接字符串_Javascript_Html_String_String Concatenation - Fatal编程技术网

Can';t在JavaScript中连接字符串

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

我正在尝试用javascript制作一个计算器。我下面的代码将点击按钮并将它们作为字符串一起添加。当用户按下sum或equals按钮时,函数应该将字符串作为一个等式进行求值,并记录结果。例如,result==“2*10”应该返回20。我的问题是,它不是这样做,而是将其相加,而不是相乘或做任何其他函数,如-或除

这是我的密码:

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中,它会立即丢失。

哈哈!我真傻!非常感谢。哈哈!我真傻!非常感谢。